sha256在C#中加密和解密字符串

时间:2018-08-22 05:14:30

标签: c#

下面是我使用SHA256加密字符串的代码。

SHA256CryptoServiceProvider x1 = new SHA256CryptoServiceProvider();

byte[] bs1 = System.Text.Encoding.UTF8.GetBytes(text);
bs1 = x1.ComputeHash(bs1);
System.Text.StringBuilder s1 = new System.Text.StringBuilder();

foreach (byte b in bs1)
{
    s1.Append(b.ToString("x2").ToLower());
}

Console.WriteLine(s1.ToString());
Console.ReadKey();

有人可以帮助我使用SHA256解密生成的字符串吗?

1 个答案:

答案 0 :(得分:1)

您实际上是在生成校验和,而不是对该文本进行加密。关于storing passwords as hashes的答案应有助于弄清其含义。

您不能解密一个散列值,但是您可以将其与另一个已知值进行比较以查看其是否匹配。例如,该已知值可能是哈希密码的结果,或者是彩虹表中的已知哈希。

如果您实际上想加密并能够解密数据,则应该改用AES加密。