我工作的公司签订了一份大型订单处理系统的支持契约(Contract)。作为初始系统审核的一部分,我注意到存储在数据库中的密码实际上是密码的哈希码。
本质上:
string pwd = "some pasword";
string securePwd = pwd.GetHashCode();
我的问题是,这有多安全?
我对此不太满意,但我对 GetHashCode 的工作原理知之甚少。我更愿意使用 MD5 哈希之类的东西,但如果我在浪费时间,那么我不会费心。
最佳答案
您应该使用加盐的、加密强度高的散列,例如 SHA256Managed
。
Jeff Attwood 有几篇关于这个主题的好文章:
关于c# - 使用 GetHashCode 获取 "secure"用户密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/610080/