ASP.NET 2.0的MD5加密函数

ASP.NET 2.0一句话MD5加密方法(字符编码UTF-8):

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 | 引用: 0 | 查看次数: 5341
发表评论
登录后再发表评论!