我正在嘗試編寫一個javascript lib來將事件推送到Pusher。javascript中的HMAC SHA256十六進制摘要
在我使用的環境中,我無法使用nodejs,所以沒有require('crypto')...或者至少我不知道在節點外部使用它的方式。
我按照這裏的示例指南:http://pusher.com/docs/rest_api;我被困在 的部分,它說我應該生成HMAC SHA256十六進制摘要。
我使用這個庫http://code.google.com/p/crypto-js/#HMAC
那麼,下面就推的說明我寫
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
。
什麼是困擾我,我沒有做「十六進制摘要」的一部分,所以也許這就是我錯過了,但我找不到合適的lib來做到這一點的JavaScript。 你發現我做了什麼錯誤嗎?你有圖書館建議嗎?
在此先感謝您的幫助。
十六進制摘要只意味着一個十六進制加密哈希,它看起來像你正在得到的。不知道有什麼問題,但... – 2012-08-02 19:36:12
是的,所以也許這只是我使用的數據錯誤,問題是我在幾個月前在Java中寫了類似的東西,並且它使用了這些數據,所以它是正確的。 – 2012-08-02 19:39:34
嗯...我會建議嘗試一個[第二庫](http://point-at-infinity.org/jssha256/),看看你是否得到不同的結果。 – 2012-08-02 19:41:53