我已经开发了一个简单的MD5哈希,如下所示:
public static string Hash(string value)
{
byte[] valueBytes = new byte[value.Length * 2];
Encoder encoder = Encoding.Unicode.GetEncoder();
encoder.GetBytes(value.ToCharArray(), 0, value.Length, valueBytes, 0, true);
MD5 md5 = new MD5CryptoServiceProvider();
byte[] hashBytes = md5.ComputeHash(Encoding.UTF8.GetBytes("123456"));
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < hashBytes.Length; i++)
{
stringBuilder.Append(hashBytes[i].ToString("x2"));
}
return stringBuilder.ToString();
}
但是现在,我想将此代码的结果解密为原始文本。但是我不知道应该使用哪个功能?
我的哈希函数是:
byte[] hashBytes = md5.ComputeHash(Encoding.UTF8.GetBytes("123456"));
答案 0 :(得分:1)
您不(无法)解密哈希,而是针对给定的值再次执行加密,以验证该值是否与哈希所伪装的值相同。