我正在尝试对 NodeJS 中的变量进行哈希处理,如下所示:
var crypto = require('crypto');
var hash = crypto.createHash('sha256');
var code = 'bacon';
code = hash.update(code);
code = hash.digest(code);
console.log(code);
但看起来我误解了文档,因为 console.log 不记录培根的哈希版本,而只是记录有关 SlowBuffer 的一些信息。
这样做的正确方法是什么?
请注意,有一些奇怪的事情crypto's https://nodejs.org/api/crypto.html#ecdhsetpublickeypublickey-encodingbase64 摘要(因为它似乎默认返回十六进制)。
相比sha256 https://www.npmjs.com/package/sha256
base64:
const sha256 = require('sha256');
const { createHash } = require('crypto');
Buffer.from(sha256('bacon')).toString('base64'); // OWNjYTA3MD...
createHash('sha256').update('bacon').digest('base64'); // nMoHAzQuJI...
// This works though if you really don't want to install external libs:
Buffer.from(createHash('sha256').update('bacon').digest('hex')).toString('base64'); // OWNjYTA3MD...
hex:
const sha256 = require('sha256');
const { createHash } = require('crypto');
sha256('bacon'); // 9cca070334...
createHash('sha256').update('bacon').digest('hex'); // 9cca070334...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)