登录
首页 >  文章 >  前端

为什么JS和Python的MD5加密结果返回类型不同?

时间:2024-12-15 20:55:04 378浏览 收藏

今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《为什么JS和Python的MD5加密结果返回类型不同?》,主要内容是讲解等等,感兴趣的朋友可以收藏或者有更好的建议在评论提出,我都会认真看的!大家一起进步,一起学习!

为什么JS和Python的MD5加密结果返回类型不同?

js和python经过md5处理后的结果返回类型不同的原因

在给出的问题中,经过md5加密后的结果在js和python中返回类型不同。这是因为python默认返回哈希值本身,而js使用了一个库来计算哈希值,并将结果作为字符串返回。

以下是对该问题的详细解释:

  • python:

    • 使用 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加密结果返回类型不同?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>