【发布时间】:2020-02-12 10:21:35
【问题描述】:
我正在使用 typescript 版本 3.7.2 来使用 crypto-js 加密数据。
算法 - sha256
但是我的代码生成了错误的散列数据。
代码运行良好,无需使用任何密钥来散列数据,如
CryptoJS.SHA256(message).toString(CryptoJS.enc.Hex)
但是当我使用 key 时,它的哈希值是错误的
这是完整的代码。 希望你能帮忙。提前谢谢你
import CryptoJS from 'crypto-js';
let order_id = 'order_EFph1itQK4z1NQ',
let payment_id = 'pay_EFph2XRs3vkaB8',
let generated_signature = CryptoJS.SHA256(order_id + "|" + payment_id, secret).toString(CryptoJS.enc.Hex);
// secret is some key
生成签名的值(我们的结束)
1a45e3be48f64911d372bcccd9c4dbe7dca9dab716603e4e80c2e55f701bde7a
要比较的哈希值(由支付网关发送)
e236e8fe62c54546b85dede32c432d4c73c27157840a8ba67cfc09270b53064a
在线网站https://www.freeformatter.com/hmac-generator.html#ad-output产生的hash值
e236e8fe62c54546b85dede32c432d4c73c27157840a8ba67cfc09270b53064a
即在线网站生成的和支付网关发送的哈希值匹配,这意味着我们的代码有问题。 谢谢
【问题讨论】:
标签: javascript typescript encryption cryptography