【发布时间】:2015-07-31 22:30:17
【问题描述】:
我想用 md5 加密一个字符串值,然后解密它,这样我就可以用一个密钥。所以我搜索了如何做到这一点,我只发现了另一种算法。
这是加密类:
class crypt
{
public string encrypt(string bhash)
{
MD5 md5 = new MD5CryptoServiceProvider();
md5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(bhash));
byte[] result = md5.Hash;
StringBuilder strBuilder = new StringBuilder();
for (int i = 0; i < result.Length; i++)
{
strBuilder.Append(result[i].ToString("x2"));
}
bhash = strBuilder.ToString();
return bhash;
}
}
【问题讨论】:
-
你正在做的是散列。散列是不可逆的。您只能比较哈希
-
MD5 是一种单向哈希。您可以加密但不能真正解密。 PS:你不需要 stringbuilder 那里。您可以使用 BitConverter 或者您可以使用 base64 编码来获取文本版本以保存为字符串。
-
不建议添加 md5 的东西
标签: c# encryption hash md5