/// <summary>
/// md5 32位加密(大写)
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
static string usermd5(string str)
{
string cl = str;
string pwd = "";
md5 md5 = md5.create();//实例化一个md5对像
// 加密后是一个字节类型的数组,这里要注意编码utf8/unicode等的选择
byte[] s = md5.computehash(encoding.utf8.getbytes(cl));
// 通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得
for (int i = 0; i < s.length; i++)
{
// 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(x)则格式后的字符是大写字符
pwd = pwd + s[i].tostring("x");
}
return pwd;
}
/// <summary>
/// md5 16位加密 加密后密码为小写
/// </summary>
/// <param name="convertstring"></param>
/// <returns></returns>
public static string getmd5str(string convertstring)
{
md5cryptoserviceprovider md5 = new md5cryptoserviceprovider();
string t2 = bitconverter.tostring(md5.computehash(utf8encoding.default.getbytes(convertstring)), 4, 8);
t2 = t2.replace("-", "");
t2 = t2.tolower();
return t2;
}
/// <summary>
/// md5 16位加密 加密后密码为大写
/// </summary>
/// <param name="convertstring"></param>
/// <returns></returns>
public static string getmd5str(string convertstring)
{
md5cryptoserviceprovider md5 = new md5cryptoserviceprovider();
string t2 = bitconverter.tostring(md5.computehash(utf8encoding.default.getbytes(convertstring)), 4, 8);
t2 = t2.replace("-", "");
return t2;
}
/// <summary>
/// md5加密(小写)
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
private static string md5hash(string input)
{
md5cryptoserviceprovider md5hasher = new md5cryptoserviceprovider();
byte[] data = md5hasher.computehash(encoding.default.getbytes(input));
stringbuilder sbuilder = new stringbuilder();
for (int i = 0; i < data.length; i++)
{
sbuilder.append(data[i].tostring("x2"));
}
return sbuilder.tostring();
}
以上就是c# md5hash的用法及实例的详细内容。