日前由于公司业务需求,初步接触了 MD5 加密。
代码及说明如下:
/// <summary>
/// MD5 加密
/// </summary>
/// <param name="content"> 需要进行加密的信息 </param>
/// <returns></returns>
private string GetMd5(string content)
{
string md5Result = "";
// 将内容字符串转成字节数组,使用 UTF-8 的编码
byte[] buffer = Encoding.UTF8.GetBytes(content);
// 类名已经很明显了 “MD5加密服务提供商”,实例化这个类
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
// 获取哈希值
byte[] md5Buffer = md5.ComputeHash(buffer);
// 将字节类型数组转换为字符串,即将每一个字节 0-255,转换成两位 16 进制数
for (int i = 0; i < md5Buffer.Length; i++)
{
// 得到的字符串是使用十六进制的格式
// 大写 X:ToString("X2") 能够转化为大写的 16 进制
// 小写 x:ToString("x2") 能够转化为小写的 16 进制
// 其中 “X2” 中的 “2” 表示输出两位,不足两位的前面补 0。
// 例如:0x0F,没有 “2” 就只会输出 0xF
md5Result += md5Buffer[i].ToString("X2");
}
return md5Result;
}