为什么JS和Python的MD5加密结果返回类型不同?
js和python经过md5处理后的结果返回类型不同的原因
在给出的问题中,经过md5加密后的结果在js和python中返回类型不同。这是因为python默认返回哈希值本身,而js使用了一个库来计算哈希值,并将结果作为字符串返回。
以下是对该问题的详细解释:
-
- 使用 hashlib.md5() 函数对数据进行md5加密。
- 返回值是一个不可变的字节对象,表示md5哈希值。
- 想要打印可读的十六进制字符串,需要使用 .hex() 函数将字节对象转换为字符串。
import hashlib decodeiv = "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加密结果返回类型不同?的详细内容,更多请关注硕下网其它相关文章!