gpt4 book ai didi

javascript - javascript 中的 HMAC SHA256 十六进制摘要

转载 作者:行者123 更新时间:2023-11-29 14:59:50 24 4
gpt4 key购买 nike

我正在尝试编写一个 javascript 库来将事件推送到 Pusher。

在我使用的环境中,我不能使用 nodejs,所以没有 require('crypto') ... 或者至少我不知道在节点外使用它的方法。

我在这里遵循示例指南:http://pusher.com/docs/rest_api ;我被困在这部分它说我应该生成 HMAC SHA256 十六进制摘要。

我正在使用这个库 http://code.google.com/p/crypto-js/#HMAC

所以,按照我写的关于 Pusher 的说明

CryptoJS.HmacSHA256(
'POST\n/apps/3/channels/project-3/events\nauth_key=278d425bdf160c739803&auth_timestamp=1272044395&auth_version=1.0&body_md5=7b3d404f5cde4a0b9b8fb4789a0098cb&name=foo',
'7ad3773142a6692b25b8'
);

但这给了我 20b132baa2aaf44ea1fab814f0788aaa44eed23a2d252c72e4dc2aaea0d6ac24而不是 b3152b2bb5a5b0bae66435a498797aa763e9b74f86cc97c9175424f8308b2f80 .

困扰我的是我没有做“十六进制摘要”部分,所以也许这就是我所缺少的,但我找不到合适的库来在 javascript 中执行此操作。你发现我所做的有什么错误吗?您有图书馆可以推荐吗?

在此先感谢您的帮助。

最佳答案

我也在努力做同样的事情。 Pusher 的文档应该对这个问题更清楚。事实证明这不是加密方法。这是您列出参数的顺序。邮件正文的格式必须完全如下:

{"data":"{\\"message\\":\\"hello world\\"}","name":"my_event","channel":"test_channel"}

必须首先是数据,然后是消息,然后是名称,最后是 channel 名称。

然后,当您创建身份验证签名时,您必须这样列出您的参数:

POST\n/apps/3/events\nauth_key=278d425bdf160c739803&auth_timestamp=1353088179&auth_version=1.0&body_md5=ec365a775a4cd0599faeb73354201b6f

所以首先是 auth key,然后是时间戳,然后是 auth version,最后是 body md5。

一旦我遵循了这个确切的模式,它就开始工作了。希望这对您有所帮助!

关于javascript - javascript 中的 HMAC SHA256 十六进制摘要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11784432/

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