1.管理NuGet程序包,搜索BouncyCastle,安装
2.代码示例
public static string GetMD5(string str)
{
// 创建MD5对象
using (MD5 md5 = MD5.Create())
{
// 将字符串转为字节数组
byte[] buffer = Encoding.GetEncoding("UTF-8").GetBytes(str);
// 加密,返回一个加密好的字节数组
byte[] md5Buffer = md5.ComputeHash(buffer);
// 将字节数组转为字符串
string newStr = "";
for (int i = 0; i < md5Buffer.Length; i++)
{
newStr += md5Buffer[i].ToString("x2");
}
return newStr;
}
}
3.C# ToString("x2")的理解
1).转化为16进制。
2).2表示输出两位,不足的2位的前面补0,如 0x0A 如果没有2,就只会输出0xA
3).ToString("x")即转化为小写的16进制,不足的2位的前面不补0。
4).大写X:ToString("X2")即转化为大写的16进制。
5).小写x:ToString("x2")即转化为小写的16进制。