如何在SHA512中解密加密的sctring
static readonly string securityCode = "mJeb44V5grh0pTB6wgepSw==";
encrypted_Text = CreateSHAHash("12345");
public static string CreateSHAHash(string PasswordSHA512)
{
SHA512Managed sha512 = new SHA512Managed();
Byte[] EncryptedSHA512 = sha512.ComputeHash(Encoding.UTF8.GetBytes(string.Concat(PasswordSHA512, securityCode)));
sha512.Clear();
return Convert.ToBase64String(EncryptedSHA512);
}
答案 0 :(得分:0)
通常,您不能“解密”散列的字符串,因为加密始终是可逆的转换,并且哈希在设计上是不可逆的。
要了解为什么不使用任何数学运算就不可逆的散列,请考虑:
SHA-512哈希的长度始终完全相同。
这意味着它只能编码有限数量的消息。
但是您可以选择散列无限数量的可能消息。
通过pigeonhole principle,您不能将无限数量的消息映射到有限数量的哈希中。
∴您不能将哈希值反转为原始消息。