我负责在我们的 .Net MVC 4 Web 应用程序中进行身份验证,但是我在密码哈希、存储和验证方面遇到了问题。
目前计划使用两个盐值,一个动态盐(每个用户都不同)和一个静态盐(Web 应用程序常量),以及强大的哈希函数。
给定一个简单的用户表,其中包含用户名和密码:
- 我应该在用户表中的一列中存储每个用户的盐值吗?
我的担心是这样做会导致我只能通过用户名从数据库中获取用户并将其存储在 Web 应用程序内存中。这可能会有什么问题吗?理想情况下,我希望这是一步/一个 SQL 请求身份验证。
我是否过于担心了?是否有替代“每个用户”盐值的方法,可以实现一步身份验证?