我的下一个任务是加密密码。我正在数据库访问层工作,我的同事已提出此请求:在一个空方法上实现SHA-512哈希。我怎样才能做到这一点?

最佳答案

确实是一个简单的过程:

byte[] data = Encoding.UTF8.GetBytes(stringPasswordForExample);

using(SHA512 sha512 = new SHA512Managed())
{
    byte[] hash = sha512.ComputeHash(data); // Add Per User Salt as per the Below
}
hash现在包含要散列的初始数据的不可逆散列。另外, checkout MSDN。一些注意事项:
  • 始终使用salt(时间越长越好,并且每个用户唯一-谢谢Paul,很好。)
  • SHA2 *生成(通常为SHA)生成的哈希方法是为了提高速度而设计的,因此它们并不是不安全的,但并不是最安全的。查看bcrypt以及SLaksmentioned
  • 关于c# - 如何对密码进行哈希处理?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2813871/

    10-11 03:21