python与js进行MD5取hash有什么不同

前言:

做渗透测试发现前端关键字进行了加密,并且对传递的参数进行签名,这导致我不能进行更改参数的值,本来打算使用JSforward进行绕过,结果尝试失败,于是最终还是通过python来写加密方法进行测试。js签名方法已经找到了,是通过MD5进行签名,进行md5时会加入服务器发放的AES秘钥(密码由AES加密),并且秘钥为固定秘钥,因此这里难度不大,但是遇到一个坑,那就pythonjsjson进行md5取hash,MD5结果值不一致,于是在网上寻找方法,最终还是找到了原因,接下来进行记录。

加密的数据包:

python与js进行MD5取hash有什么不同_第1张图片

签名方法为MD5

python与js进行MD5取hash有什么不同_第2张图片

python对{‘name’:‘anan’,‘age’:‘18’}转换为json字符串:

python与js进行MD5取hash有什么不同_第3张图片

js对{‘name’:‘anan’,‘age’:‘18’}转换为json字符串:

比较结果:

python通过json.dumps处理的结果在:与值之间多了一个空格

{"name": "anan", "age": "18"}  #python
{"name":"anan","age":"18"}     #js

处理方式:

json.dumps(data, separators=(",", ":"))

python与js进行MD5取hash有什么不同_第4张图片

到此这篇关于python与js进行MD5取hash有什么不同的文章就介绍到这了,更多相关python与js进行MD5取hash区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(python与js进行MD5取hash有什么不同)