gpt4 book ai didi

node.js - 为什么不需要盐来比较bcrypt中的密码是否正确?

转载 作者:搜寻专家 更新时间:2023-10-31 22:40:38 32 4
gpt4 key购买 nike

我想在将密码存储到数据库之前使用 node.js bcrypt 对密码进行哈希处理。

此链接提供文档。 https://github.com/kelektiv/node.bcrypt.js

这里是一个散列密码的例子。

var bcrypt = require('bcrypt');
const saltRounds = 10;
const myPlaintextPassword = 's0/\/\P4$$w0rD';

var salt = bcrypt.genSaltSync(saltRounds);
var hash = bcrypt.hashSync(myPlaintextPassword, salt);
// Store hash in your password DB.

这是检查密码的代码。

// Load hash from your password DB.
bcrypt.compareSync(myPlaintextPassword, hash); // true

这是我不明白的。 bcrypt.compareSync中,为什么没有参数salt?既然hash是用salt生成的,为什么明文密码比较不涉及hash时用的原始salt?

最佳答案

salt 是 bcrypt 存储在数据库中的字符串的一部分,例如参见 Do I need to store the salt with bcrypt? 上的答案

关于node.js - 为什么不需要盐来比较bcrypt中的密码是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41564229/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com