我正在使用以下代码加密我的密码。
public static string GetSHA1HashData(string password)
{
//create new instance of md5
SHA1 sha1 = SHA1.Create();
//convert the input text to array of bytes
byte[] hashData = sha1.ComputeHash(Encoding.Default.GetBytes(password));
//create new instance of StringBuilder to save hashed data
StringBuilder returnValue = new StringBuilder();
//loop for each byte and add it to StringBuilder
for (int i = 0; i < hashData.Length; i++)
{
returnValue.Append(hashData[i].ToString());
}
// return hexadecimal string
return returnValue.ToString();
}
但我也想为Decryption创建代码。我试过了,但不是一个好的解决方案。你能帮我解决这个问题吗?
这里我使用了System.Security.Cryptography =&gt; SHA1:HashAlgorithm
提前致谢。
答案 0 :(得分:4)
哈希值无法解密:
String
是任意长(最多2GB),所以有很多{ {1}}具有相同的哈希值(歧义)而不是解密,比较哈希值:如果用户提供的密码具有与存储的哈希相同的相同哈希值,那么密码正确一个。