📅  最后修改于: 2023-12-03 15:25:27.345000             🧑  作者: Mango
在 Node.js 中,可以使用 crypto
模块生成哈希。但是,如果你想让哈希更安全,可以使用密钥将哈希进行加密,如下所示:
const crypto = require('crypto');
const data = 'Hello World';
const key = 'My Secret Key';
const hash = crypto.createHmac('sha256', key)
.update(data)
.digest('hex');
console.log(hash);
在上面的代码片段中,我们使用 crypto.createHmac()
方法生成哈希。这个方法需要两个参数:加密算法和密钥。我们使用了 sha256
算法,并且使用了自定义密钥 My Secret Key
。
接下来,我们使用 update()
方法将要哈希的数据传递给哈希对象。在这个例子中,我们将字符串 Hello World
传递给哈希对象。
最后,我们使用 digest()
方法获取哈希值并以十六进制编码的形式输出,这样我们就得到了带有密钥的哈希值。
需要注意的是,这里的密钥是明文存储在代码中的,如果你需要更加安全的方式来存储密钥,可以使用环境变量或者配置文件等方式。
以上就是一个带有密钥的 Node.js 哈希的实现。它可以帮助你使哈希更加安全,防止被恶意攻击。