如何使用SHA512散列密码

jam*_*mes 2 c# security encryption passwords hash

在我之前的问题中,我被告知要使用哈希密码而不是加密,结果证明是正确的.问题是,我以前从未处理过散列密码,并且所有文档都说SHA512,我试图在测试帐户上使用它无济于事.我不知道从哪里开始.代码注释给我示例"加密"字符串,因为他们称之为"FA35A0194E3BE7024CEFB1839CBFC922",我不知道如何使用SHA512格式化它,因为它只需要一个字节数组或流来自ComputeHash()方法:

byte[] hashedPassword = HashAlgorithm.Create("SHA512").ComputeHash( ??? );
Run Code Online (Sandbox Code Playgroud)

UPDATE

我已经尝试在字节上打印出UTF8Encoding.GetString,但它只显示了一堆废话字符,看起来与示例文档中的字符完全不同.

Cod*_*aos 5

使用普通SHA-512进行哈希仍然是错误的.使用通过Rfc2898DeriveBytes公开的PBKDF2 .

它返回原始字节,您应该使用hex或base64进行编码.

你可以用:

BitConverter.ToString(bytes).Replace("-","")
Run Code Online (Sandbox Code Playgroud)