我試圖移植一個API的JavaScript集成到PHP/JQuery的PHP示例。在PHP中,使用下面的代碼創建一個加密的字符串:PHP/Javascript/JQuery - base64 sha256編碼
$sig = base64_encode(hash_hmac('sha256', $sign, $this->secretAccessKey, true)
,其功能是記錄在這裏:
http://php.net/manual/en/function.hash-hmac.php
http://us.php.net/base64_encode
在Javascript中,我使用jQuery的密碼,以做HMAC作品:
http://code.google.com/p/crypto-js/#HMAC-SHA256
我試圖弄清楚是否我還需要做一個base64編碼,因爲它看起來已經在base64中了。這是我目前運行的代碼:
var sigHash = Crypto.HMAC(Crypto.SHA256, sign, accessKey);
這是正確的嗎?我將如何創建一個與上述PHP函數相當的javascript/jquery?
謝謝 - 我想我需要知道的是,僅僅是運行JavaScript中的加密函數以獲得與PHP函數等價的函數就足夠了,還是需要運行加密函數,以及另外添加base64_encode函數 – mheavers
該函數的標準輸出是十六進制編碼,而不是Base64。對於Base64編碼,請參閱更新的答案。 – Dennis
謝謝!這很有幫助。 – mheavers