从SHA1升级到SHA2会破坏C#应用程序中的所有内容

时间:2016-05-13 21:59:25

标签: c# security sha1 sha256 sha

我的任务是 checkmarx whitehat 哨兵安全修复程序。问题是从 SHA1 更改为 SHA2 不会自动运行。 哈希 将匹配数据库表中的所有数百个用户密码

我想做什么,让每个人更改 密码

C#代码更改:

//SHA1 sha = SHA1.Create();
SHA256 sha = SHA256Managed.Create();

byte[] buff = sha.ComputeHash(Encoding.Unicode.GetBytes(SaltAndPwd));

1 个答案:

答案 0 :(得分:1)

如您所知,哈希是单向的,这意味着无法将其解密回原始值,并且在不知道原始值的情况下也无法转换。甚至SHA2也有'不同'和更高级的哈希算法。

一个不好的选择是,在SHA2之前注册用户的方式不同。但是,使用旧SHA1的用户可能会遭受黑客攻击,就像LinkedIn网站在使用SHA1时遭到黑客攻击一样。

我的想法和你一样。就像我们在大型互联网网站上看到密码更改建议一样,只需简单的过程就像验证旧密码并从用户那里获取新密码。

像SHA2的PWDTK这样的Nuget包可能会有所帮助..