javascript - bcrypt 如何比较密码与不同生成的盐?

标签 javascript encryption bcrypt

我现在使用bcryptjsbcrypt提供了生成盐的方法

bcrypt.genSalt(10, function(err, salt)

然后使用生成的盐来加密密码

bcrypt.hash(password, salt, function(err, hash) 

为了验证身份验证,它使用比较方法

bcrypt.compare(password, hash, function(err, res)  

bcrypt 如何生成相同的盐来比较密码?是吗?

最佳答案

每次bcrypt生成salt和hash时,他都会将salt存储在生成的hash中。

示例

我们有哈希 - $2y$14$i5btSOiulHhaPHPbgNUGdObga/GC.AVG/y5HHY1ra7L0C9dpCaw8u

格式(标识符)- 2y

成本参数 - 14

盐 - i5btSOiulHhaPHPbgNUGdO

哈希摘要 - bga/GC.AVG/y5HHY1ra7L0C9dpCaw8u

附注 您可以在这里阅读相关内容 - https://github.com/ademarre/binary-mcf

关于javascript - bcrypt 如何比较密码与不同生成的盐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25482024/

相关文章:

javascript - 使用javascript读取数组json

javascript - jQuery getJSON 语法错误

c - 解密十六进制时如何输出文本?

python-3.x - SQLAlchemy:调用函数并始终将返回值保存在表中

node.js - bcrypt 没有在 ubuntu 上安装

javascript - 无法将数据库中的数据与字符串数组进行比较

javascript - Meteor JS - 来自子 ID 的异常(不存在的 ID)

java - AES 加密/解密 Java => OpenSSL 命令行工具

python - 使用 python/bcrypt 将密码保存为用户集合中的 mongodb 中的加盐哈希

php - 如何检查Bcrypt密码是否正确?