云烟成雨 发表于 2025-6-12 14:08

crypto-js库的keccak384加密方法跟python库执行结果不一致

本帖最后由 云烟成雨 于 2025-6-16 08:55 编辑

js库的引入地址:https://cdnjs.cloudflare.com/aja ... .0/crypto-js.min.js
加密:keccak384(`${code}hSf(78cvVlS5E)`).slice(12, 28)

python库使用的是pycryptodome
from Crypto.Hash import keccak
keccak384(f'{code}hSf(78cvVlS5E'.encode()))

相同的字符串,js版本和python库版本得到的结果不一致,奇了怪了,但是我加密wcegS3gzA$字符串的时候,结果又变成一样的了,我晕了

------
破案了,两个字符不一样,差个右括号,感谢@flyer_2001的解答

田田爱崽崽 发表于 2025-6-12 14:49

可能是编码的问题

pwp 发表于 2025-6-12 15:26

直接复制js问ai写成python

kof21411 发表于 2025-6-12 15:53

变量code有没有被定义了?
如果没有
在js里code会变成undefined

在python里会code会变成null

云烟成雨 发表于 2025-6-13 08:17

kof21411 发表于 2025-6-12 15:53
变量code有没有被定义了?
如果没有
在js里code会变成undefined


肯定定义了啊,这个是代码片段,前面有值的

flyer_2001 发表于 2025-6-13 08:39

下面的字符少了一个右括号

云烟成雨 发表于 2025-6-15 15:22

flyer_2001 发表于 2025-6-13 08:39
下面的字符少了一个右括号

少了会直接报错的,不是这个问题

flyer_2001 发表于 2025-6-15 23:23

本帖最后由 flyer_2001 于 2025-6-15 23:25 编辑

云烟成雨 发表于 2025-6-15 15:22
少了会直接报错的,不是这个问题
字符串里的右括号78cvVlS5E)
keccak384(`${code}hSf(78cvVlS5E)`).slice(12, 28)
keccak384( f'{code}hSf(78cvVlS5E'.encode()))

云烟成雨 发表于 2025-6-16 08:49

flyer_2001 发表于 2025-6-15 23:23
字符串里的右括号78cvVlS5E)
keccak384(`${code}hSf(78cvVlS5E)`).slice(12, 28)
keccak384( f'{code ...

还真是,破案了,感谢{:1_924:}
页: [1]
查看完整版本: crypto-js库的keccak384加密方法跟python库执行结果不一致