为啥 php md5 与 用 js md5 加密出来的结果不一样,怎么解决,使

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥 php md5 与 用 js md5 加密出来的结果不一样,怎么解决,使相关的知识,希望对你有一定的参考价值。

为什么 php md5 与 用 js md5 加密出来的结果不一样,怎么解决,使 php md5的结果与js md5 加密后一样

php 直接使用 md5()就行
js没有自带的md5 可以引用个md5.js 或者jq的md5库
php的输出是正确的 不一致要改js的追问

但是两者加密后结果不一样。

追答

你试试加密abc md5("abc") 结果 900150983cd24fb0d6963f7d28e17f72
php中默认是32位的
测试 javascript MD5 library - version 0.4 这个库正确
对比下abc 不正确就换js

参考技术A 如果加密的是中文,检查编码
如果不是中文,php默认是32位,说一下你的具体js库

python和php计算md5为啥不一样

#!/usr/bin/env python

# -*- coding: UTF-8 -*-

import hashlib

string = '123456SkinRun51'

md5=hashlib.md5() 

md5.update(string.encode('utf-8'))

res=md5.hexdigest()

print('md5加密后结果:',res) 

-------------------------------------------

echo md5(utf8_encode('123456SkinRun51')).PHP_EOL;

exit();

叙述:python3.6.6 ;php7

参考技术A

Python:

>>> import hashlib
>>> hashlib.md5("测试").hexdigest()
'db06c78d1e24cf708a14ce81c9b617ec'

PHP:

$ echo '<?php echo md5("测试");?>' | php
db06c78d1e24cf708a14ce81c9b617ec

一样的哦 :)

本回答被提问者和网友采纳
参考技术B 是一样的,你自己核对下

以上是关于为啥 php md5 与 用 js md5 加密出来的结果不一样,怎么解决,使的主要内容,如果未能解决你的问题,请参考以下文章

python和php计算md5为啥不一样

js 前端md5加密 后端怎么办

有关MD5与PHP,高手进

java的32位MD5加密与php中的32位MD5加密结果不一样.求帮助

md5为啥不能解密?

中文字符串C++MD5加密结果与PHP的加密结果不一致,怎么办