gpt4 book ai didi

python - 将 CryptoJS Base64 编码转换为 Python

转载 作者:太空宇宙 更新时间:2023-11-03 19:45:07 24 4
gpt4 key购买 nike

我有以下代码片段,仅使用 javascript 将值编码为 Base64:

<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/crypto-js.js"></script>
<script>
var magic = "TEST";

var magic1 = CryptoJS.MD5(magic).toString(CryptoJS.enc.Base64);
document.write(magic1);

</script>

上述输出导致:

AzvZSxFo1+Tw1kTDyV41vw==

现在,当我想在 python 中做同样的事情时,我得到了不同的结果:

import hashlib
import base64

magic = "TEST"
magic = hashlib.md5(magic.encode())
magic = magic.hexdigest()
magic1= base64.b64encode(magic.encode())
print(magic1)

上述输出导致:

   MDMzYmQ5NGIxMTY4ZDdlNGYwZDY0NGMzYzk1ZTM1YmY=

为什么对于完全相同的字符串我会得到两个不同的 base64 结果?那么我应该如何调整我的 python 代码才能工作呢?

编辑我已按照建议进行了完整更新,显示了两个实例的工作代码。我想了解为什么 java 和 python 结果之间存在差异。如何在 python 上获得相同的结果。

最佳答案

设法解决它。

import hashlib
import base64

magic = "TEST"
magic = hashlib.md5(magic.encode())
magic = magic.digest()
magic1= base64.b64encode(magic)
encodedStr = str(magic1, "utf-8")
print(str(encodedStr))

更改是不使用digesthex,而是使用digest:

AzvZSxFo1+Tw1kTDyV41vw==

以下链接有助于解决我的问题:

Python, get base64-encoded MD5 hash of an image object

关于python - 将 CryptoJS Base64 编码转换为 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60185795/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com