c#Md5 32位加密结果少了两个0的原因
2024-10-10 20:18:32
今天碰到一个问题, md5加密之后与网站上md5加密少了两位, 仔细看区别是少了两个零
E1ADC3949BA59ABBE56E057F2F883E 我的md5
E10ADC3949BA59ABBE56E057F20F883E 第三方网站的加密
明显第一个和第二个 少了两个零
原因:
这个是很常见的错误,你字节转换成字符串的时候要保证是2位宽度啊,某个字节为0转换成字符串的时候必须是00的,否则就会丢失位数啊。不仅是0,1~9也一样。
我的代码:
public static string encrypt(string str)
{
string cl = str;
string pwd = "";
MD5 md5 = MD5.Create();
byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(cl));
for (int i = ; i < s.Length; i++)
{
pwd = pwd + s[i].ToString("X");
}
return pwd;
}
#endregion
}
把上边 红框内的代码换成X2 问题解决
pwd = pwd + s[i].ToString("X2");
最新文章
- 基于token的多平台身份认证架构设计
- HDU 4539 郑厂长系列故事――排兵布阵(曼哈顿距离)
- python 安装 setuptools Compression requires the (missing) zlib module 的解决方案
- C#主线程等待子线程运行结束
- 【不积跬步,无以致千里】DELETE SINGLE IPTABLES RULES
- 将yyyyMMdd HH:mm:ss格式的时间转换成时间类型
- MATLAB图像处理基础
- txt 分割程序
- 【原创】System.Data.SQLite内存数据库模式
- linux操作系统下的码农常用工具
- (十六)JQuery Ready和angularJS controller的运行顺序问题
- 基于PHP的crontab定时任务管理
- oracle 非数字型转数字型
- 运用bootstrap框架的时候 引入文件的问题
- Eclipse 的 git 插件操作 ";代码提交";以及";代码冲突";
- js格式化时间戳
- 设计模式--MVC(C++版)
- sql语句如何查询一个表中某两个字段的相同数据?
- quick-cocos2d-x教程1:在window上创建第一个项目文件夹,并制作helloworld
- go语言面向对象编程之类型系统