js和python经过md5处理后的结果返回类型不同的原因
在给出的问题中,经过md5加密后的结果在js和python中返回类型不同。这是因为python默认返回哈希值本身,而js使用了一个库来计算哈希值,并将结果作为字符串返回。
以下是对该问题的详细解释:
python:
立即学习“Python免费学习笔记(深入)”;
使用 hashlib.md5() 函数对数据进行md5加密。返回值是一个不可变的字节对象,表示md5哈希值。想要打印可读的十六进制字符串,需要使用 .hex() 函数将字节对象转换为字符串。
import hashlibdecodeiv = "ydsecret://query/iv/c@lze2yzhtz2cygaxksvfsb7y4qwhjitppz0nqp87fbej!iv6v^6fvi2wn@bypj4"res = hashlib.md5(decodeiv.encode('utf-8')).digest()print(res.hex()) # 输出:d2bb1bfde83b38c344366357b79cae1c
登录后复制
js:
使用了cryptojs库(之前在html中引用)中的 cryptojs.md5() 函数来进行md5加密。返回值是一个字符串,可以直接打印。
const decodeiv = "ydsecret://query/iv/C@lZe2YzHtZ2CYgaXKSVfsb7Y4QWHjITPPZ0nQp87fBeJ!Iv6v^6fvi2WN@bYpJ4";const result = CryptoJS.MD5(decodeiv);console.log(result.toString()); // 输出:"d2bb1bfde83b38c344366357b79cae1c"
登录后复制
以上就是为什么JS和Python的MD5加密结果返回类型不同?的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2653477.html