FormsAuthentication.HashPasswordForStoringInConfigFile("木子屋", "MD5")若要指定字符编码,则使用下边方法:
public string MD5(string str, Encoding encode)
{
MD5CryptoServiceProvider provider = new MD5CryptoServiceProvider();
byte[] data = provider.ComputeHash(encode.GetBytes(str));
StringBuilder builder = new StringBuilder();
for (int i = 0; i < data.Length; i++)
{
builder.Append(data[i].ToString("x2"));
}
return builder.ToString();
}或
public string MD5(string str, Encoding encode)
{
using (MD5 md5Hash = MD5.Create())
{
byte[] data = md5Hash.ComputeHash(encode.GetBytes(str));
StringBuilder builder = new StringBuilder();
for (int i = 0; i < data.Length; i++)
{
builder.Append(data[i].ToString("x2"));
}
return builder.ToString();
}
}上边加密的结果都是32位字符串,若要改为16位只需从第9位开始截取16个字符即可。
参考资料
[1].MD5CryptoServiceProvider 类:https://msdn.microsoft.com/zh-cn/library/system.security.cryptography.md5cryptoserviceprovider(VS.80).aspx
[2].MD5 类:https://msdn.microsoft.com/zh-cn/library/system.security.cryptography.md5
评论(0)
暂无评论。