2 qqncer qqNCer 于 2015.05.26 14:02 提问

js里md5加密,对原字符串加上一个空字符串之后md5值改变

做爬虫的时候需要模拟登录,然而登录算法十分闹心
如图salt = ""
h1 = "gn·¿EA{3©äI„Ǐ"

然而对h1进行md5和对(h1+salt)进行md5,两个值不同

图片说明

对js不太懂,不知道js对空字符串是怎么处理的

但是在其他语言(python)实现的时候,无法得到这种效果啊
都是直接把空字符串忽略了,md5后与有没有加空字符串无关,值都是一样的

已经解决了,正如1L所说,salt其实是有值的,长度为8,只是是乱码,浏览器监视器无法显示,以为是空字符串

2个回答

beacon_2011
beacon_2011   Rxr 2015.05.26 15:39
已采纳

h1+salt 与h1比较是相同的吗?

Tiger_Zhao
Tiger_Zhao   Rxr 2015.05.26 14:24

md5加盐后有变化才是对的。
你所谓的其它语言没有正确处理空格,BUG!

Tiger_Zhao
Tiger_Zhao 回复qqNCer: md5处理的是字节数组,把字符串转字节数组有不同的编码方式。结果不同说明用的编码不同。
2 年多之前 回复
qqNCer
qqNCer 可是我手动给h1加了空格之后在js里再md5,也和他加盐后的md5不同
2 年多之前 回复
qqNCer
qqNCer 可是我手动给h1加了空格之后在js里再md5,也和他加盐后的md5不同
2 年多之前 回复
qqNCer
qqNCer 可是我手动给h1加了空格之后在js里再md5,也和他加盐后的md5不同
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片