MD5中的缺位问题

编程入门 行业动态 更新时间:2024-10-24 17:29:50

MD5中的缺位问题

MD5中的缺位问题

refer 

.html

.html


32位MD5加密算法代码

/// <summary>
/// 32位MD5加密
/// </summary>
/// <param name="password"></param>
/// <returns></returns>
public static string MD5Encrypt32(string password)
{string cl = password;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;
}

但是在执行过程中出现缺位问题,如asd12345,运行以上代码得到的是297FF4A97FCDA4BCECFBB1816834A,此时只有29位。采用在线MD5加密工具计算后得到的正确结果是297ff4a97fcda4bc0ecf0bb18168034a,对比发现是0的都少了。百度得到答案

1).转化为16进制。

2).大写X:ToString("X2")即转化为大写的16进制。

3).小写x:ToString("x2")即转化为小写的16进制。

4).2表示输出两位,不足的2位的前面补0,如 0x0A 如果没有2,就只会输出0xA


更多推荐

MD5中的缺位问题

本文发布于:2024-02-10 15:40:46,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1676088.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!