base64_encode(hash_hmac('sha1', 'abc', '11111')) //NjMxNzM0MTdmYjY5MTVjZjhhNWExMTFlMzdlMzg4NTJlOTVjNzEzOA== crypto.createHmac('sha1', '11111').update('abc').digest().toString('base64') //Yxc0F/tpFc+KWhEeN+OIUulccTg=
请问我的nodejs哪里写得有问题,如果加密出56位的串?
回复 (2)
K
var hexText = crypto.createHmac('sha1','11111').update('abc').digest('hex');
var hexBuff = new Buffer(hexText);
console.log(hexBuff.toString('base64');
hash_hmac 出来的是一个字符串, digest() 出来的是一个 buffer,digest('hex')出来的才是一个字符串。 另外base64不能算是加密,encode 和 decode 严格来说是编码和解码。当然,自定义转换表可以算是加密。
参与回复
登录后即可参与回复。登录