我想使用SHA1进行加密。我的代码是
public static string EncryptPassword(string password)
{
try
{
SHA1 sha1 = new SHA1Managed();
var bytehash = sha1.ComputeHash(new MemoryStream(new ASCIIEncoding().GetBytes(password)));
var stringhash = new ASCIIEncoding().GetChars(bytehash).ToString();
return stringhash;
}
catch (Exception ex)
{
// Some Exception....
}
return null;
}
它无法正常工作。它只返回System.Char []。我在这个
中做错了什么答案 0 :(得分:5)
因为那是ToString()
从字符数组中返回的内容......
试
new string(new ASCIIEncoding().GetChars(bytehash));
并选择莫里斯的答案,这更聪明;)
答案 1 :(得分:3)
使用GetString
代替GetChars
var stringhash = new ASCIIEncoding().GetString(bytehash);
然而,Spender会在您的问题上写下评论,并附上另一个问题的链接,以帮助您解决实际问题。 (@Spender感谢此事。)