我試圖端口下面的PHP代碼的JavaScript上的Node.js:在加密的NodeJS
$mac = hash_hmac('SHA256', 'string', 'secret', true);
$coded = base64_encode($mac);
我已經試過如下:
var Crypto = require('crypto');
var code = Crypto.util.bytesToBase64(Crypto.HMAC(Crypto.SHA256, 'string', 'secret', { asBytes: true }));
我得到錯誤:
TypeError: Object #Object has no method 'HMAC'
我是新來的node.js,wh我在做錯嗎?
更新:
var code = Crypto.createHmac('SHA256', secret_key).update(to_encode).digest('base64');
致謝。我得到「必須給hashtype字符串作爲參數」。 – Alex 2012-02-06 19:08:56
@亞歷克斯對不起,文檔不是很好,所以我無法弄清楚它到底需要什麼。希望這能讓你朝着正確的方向前進。 – Tesserex 2012-02-06 19:11:36
Crypto.SHA256應該是'SHA256'。謝謝! – Alex 2012-02-06 19:21:15