js 对中文进行MD5加密和python结果不一样。

当使用python进行MD5加密时,需要对字符串进行encode,
代码如下:

def md5(str):
    str = str.encode('utf-8')
    import hashlib
    m = hashlib.md5()   
    m.update(str)
    return m.hexdigest()

js中的MD5对中文加密为:

string= MD5(string)

但是结果不一样,比如string= '我是测试字符串'的在python中的结果为: fd962c144eae1ac6912480fd4abd2d87
而js中的结果为:4fa9edf38bb340c273dc4c969ca680bb,所以我想知道这两种语言怎样对中文进行MD5加密才能使其结果一直呀?

阅读 11.8k
4 个回答
<!DOCTYPE html>
<html lang="en">
<head>
    <script src="http://cdn.bootcss.com/blueimp-md5/1.1.0/js/md5.js"></script>
</head>
<body>
</body>
<script>
    var str = md5("我是测试字符串");
    console.log(str);
    //fd962c144eae1ac6912480fd4abd2d87
</script>
</html>

找几个在线网站对比下加密结果就知道哪个对,哪个错了 md5加密校验

可能是编码格式问题,看看你js接收到的字符的编码格式

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏