我正在使用typescript版本3.7.2使用crypto-js加密数据。
算法- sha256
但是我的代码生成了错误的哈希数据。
如果不使用任何密钥来哈希数据,则该代码运行良好。
CryptoJS.SHA256(message).toString(CryptoJS.enc.Hex)
但是当我使用密钥时,哈希处理出现错误。
以下是完整代码。希望你能帮忙解决。谢谢。
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生成的哈希值。
e236e8fe62c54546b85dede32c432d4c73c27157840a8ba67cfc09270b53064a
例如,由在线网站生成并由支付网关发送的哈希值匹配,这意味着我们的代码存在问题。
谢谢
Translated and polished:举个例子,如果由在线网站生成并通过支付网关发送的哈希值匹配,那么说明我们的代码有问题。
谢谢。