javascript - 如何在 JS 中获取 CryptoJS.HmacSHA256 的摘要表示

标签 javascript python cryptography hmac cryptojs

我必须在摘要(字节表示)中生成 CryptoJS.HmacSHA256 的字符串表示。

我需要它,因为我必须复制在 javascript 中生成此类摘要的 python 代码:

print hmac.new("secret", "test", hashlib.sha256).digest()

')�kb��>�y+������:�o��H�   '

目标是在 javascript 中复制上述代码的行为。

你能建议我怎么做吗?

最佳答案

您不能简单地将字节发送到 JavaScript。您需要将其转换为文本表示以使其具有可比性。 python 的 hmac 模块和 CryptoJS 都支持十六进制编码。

加密JS:

CryptoJS.HmacSHA256("test", "secret").toString(CryptoJS.enc.Hex)

Python2:

hmac.new("secret", "test", hashlib.sha256).hexdigest()

Python3:

hmac.new("secret".encode("utf-8"), "test".encode("utf-8"), hashlib.sha256).hexdigest()

注意参数顺序的不同。

所有农产品

0329a06b62cd16b33eb6792be8c60b158d89a2ee3a876fce9a881ebb488c0914

关于javascript - 如何在 JS 中获取 CryptoJS.HmacSHA256 的摘要表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29432506/

相关文章:

javascript - 使用 AWS SDK for JavaScript 访问 AWS S3

Python有没有办法计算字符串插入字符串的数量?

python - 使用 Selenium RemoteWebDriver 运行 PhantomJS 时出错

java - Rijndael C# 和 Java 之间的差异

android - 从字节数组生成 ECPublicKey

vb.net - 抽奖算法

javascript - 获取伪类的值

javascript - 动态设置对象文字值

javascript - 如何在给定公差的情况下四舍五入到最接近的整数

python - 如何使用 beautifulsoup 获取原始文本?