节选百度:
字节转换成字符串的时候要保证是2位宽度啊,某个字节为0转换成字符串的时候必须是00的,否则就会丢失位数啊。不仅是0,1~9也一样。
代码如下:
/// <summary> /// MD5加密帮助类 /// </summary> public class MD5Helper { #region MD5转换 /// <summary> /// 计算指定字符串的MD5哈希值 /// </summary> /// <param name="message">要进行哈希计算的字符串</param> /// <returns></returns> public static string ConvertMD5(string message) { if (string.IsNullOrEmpty(message)) { return string.Empty; } else { MD5 md5 = MD5.Create(); byte[] source = Encoding.UTF8.GetBytes(message); byte[] result = md5.ComputeHash(source); StringBuilder buffer = new StringBuilder(result.Length); for (int i = 0; i < result.Length; i++) { buffer.Append(result[i].ToString("x2"));//将byte值转换成十六进制字符串 } return buffer.ToString(); } } #endregion }
时间: 2024-11-02 19:32:00