我有一个.net应用程序,它在一个sql server数据库中存储散列密码。
使用使用散列密码存储在数据库中的salt对密码进行哈希处理。
作为额外的安全层,我将散列密码与另一个未存储在数据库服务器上的全站点密钥进行散列,以提高安全性。由于系统负载均衡,我应该在哪里存储全站密钥?将其副本存储在我的每个.net应用程序的配置中(所有服务器上的值相同)。
第二个问题是,存储密码的推荐散列机制是什么?
答案 0 :(得分:2)
我倾向于使用存储密码的bcrypt。它的.NET实现是BCrypt.NET,因为此时它不在.NET框架中。您不希望使用像MD5这样的通用哈希函数。另一个常见的算法是PBKDF2,但我没有亲自在.NET中使用它。