Skip to main content
 首页 » 编程设计

c#之在 sql 和 web 应用程序之间发送安全密码的最佳实践

2024年02月20日28mfryf

我有一个关于 C# 和 SQL 之间加盐的 SHA512 散列的问题。存储哈希值的最佳方式是什么,我可以在将它们从 Web 应用程序保存到数据库后正常使用吗?稍后当用户登录以验证用户时获取它们是否安全?我可以在 SQL 中创建用户和密码,对密码进行哈希处理并添加盐,然后使用相同的算法在 C# 哈希中验证用户,根据它的大小删除盐并比较两个哈希值吗?

请您参考如下方法:

这是一个非常复杂的话题,您真的应该确保自己做对了——大多数人做错了。

我见过的最全面的指南是 How to Secure Passwords - Developer Best Practices Les Hazlewood 的演讲,这是我推荐观看的一个良好开端。

如果不写一本简短的书,这里的任何人都无法回答您的所有问题,因此我只能建议您观看本次演讲,记下所解释的问题、解决方案、工具和技术,然后查找有关它们的更多信息。

或者您也可以将您的用户处理外包给一些正确处理的公司,例如 Stormpath。您也可以使用 OpenID , 或 BrowserID并且根本不关心密码。 (尽管我现在还不建议使用 BrowserID,至少在可以在您自己的服务器上可靠地验证断言之前不要这样做。)