将 SHA-256 与 NodeJS 加密结合使用

2024-02-06

我正在尝试对 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(使用前将#替换为@)

将 SHA-256 与 NodeJS 加密结合使用 的相关文章

随机推荐