在JavaScript中使用RAW二进制OUTPUT的hash_hmac()

时间:2016-03-06 02:53:22

标签: javascript php binary base64 cryptojs

我有php代码来生成 hash_hmac

key = base64_encode(hash_hmac('sha1',$public_key, $private_key,TRUE));

我已经尝试了 CryptoJS 库来解决它。

根据文件:

var public_key = 'msg',
    private_key = 'key';
var hash = CryptoJS.HmacSHA1(public_key, private_key)

我不知道如何将原始输出设置为二进制,例如在php中将$raw_output设置为true

任何人都可以帮助我吗?

感谢:)

1 个答案:

答案 0 :(得分:1)

php code

echo base64_encode(hash_hmac('SHA1', 'shanghai', '0', true).'beijing');

php输出

xvBv49PpaYvXAIfy3iOSDWNQj89iZWlqaW5n

节点代码

var crypto = require('crypto');
var buf1 = crypto.createHmac("sha1", "0").update("shanghai").digest();
var buf2 = Buffer.from('beijing');
console.log(Buffer.concat([buf1, buf2]).toString('base64'));    

节点输出

xvBv49PpaYvXAIfy3iOSDWNQj89iZWlqaW5n
相关问题