c# - 使用 GetHashCode 获取 "secure"用户密码

标签 c# .net security cryptography

我工作的公司签订了一份大型订单处理系统的支持契约(Contract)。作为初始系统审核的一部分,我注意到存储在数据库中的密码实际上是密码的哈希码。

本质上:

string pwd = "some pasword";
string securePwd = pwd.GetHashCode();

我的问题是,这有多安全?

我对此不太满意,但我对 GetHashCode 的工作原理知之甚少。我更愿意使用 MD5 哈希之类的东西,但如果我在浪费时间,那么我不会费心。

最佳答案

您应该使用加盐的、加密强度高的散列,例如 SHA256Managed

Jeff Attwood 有几篇关于这个主题的好文章:

Rainbow Hash Cracking

You're Probably Storing Passwords Incorrectly

关于c# - 使用 GetHashCode 获取 "secure"用户密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/610080/

相关文章:

mysql - 关闭 LOAD DATA INFILE 或 INTO OUTPUT

c# - InvalidOperationException : Cannot resolve scoped service 'Microsoft. AspNetCore.Identity.UserManager .NET 核心 2.0

c# - 如何在不使用设计器的情况下仅以编程方式(在 .cs 文件中)编写 Windows Phone 7 UI 代码

c# - 我如何控制对象如何被哈希集哈希

.net - 在没有线程或异步设备的情况下,异步/等待模式是否无关紧要?

security - SYN 拒绝服务攻击

c# - 如何在不破坏现有包的情况下更新现有的自定义连接管理器

.net - 多开发人员环境中 PFX 文件的最佳实践

c# - 将整数转换为字节但不溢出

c - 为什么 OpenProcessToken 会因 ERROR_ACCESS_DENIED 而失败