node.js - 如何在nodejs中使用bycrypt验证在ruby设计中创建的哈希?
问题描述
我在 Rails 中有一个当前项目,它使用设计来存储密码和盐(内部设备使用 bycrypt 创建哈希和盐)。密码的哈希是:-
哈希:-$2a$10$QtNtlFcSfRHYDpgzwlHMb.TSMGzI3QF3CfaS5YH68yHrDN0BJ3z/q
盐 :-NkXj-7x7_cypwizyB9D6
纯文本密码:gautam92
现在我想迁移到 nodejs(我在其中使用相同的bycrypt包)。所以我使用下面的代码来检查nodejs中的哈希值。
var bcrypt = require('bcrypt');
let hashedpwd = '$2a$10$QtNtlFcSfRHYDpgzwlHMb.TSMGzI3QF3CfaS5YH68yHrDN0BJ3z/q'
const result = bcrypt.compareSync('gautam92', hashedpwd);
console.log('result')
console.log(result) // false
截至目前,结果记录为假。当我在bycrypt 验证器中检查哈希时也会发生同样的情况,我得到错误('无效密码')。
解决方案
推荐阅读
- android - io.realm.exceptions.RealmException:Dog 不是此 Realm 架构的一部分
- docker - 可以从其他容器访问 docker 容器,但不能从 localhost
- utf-8 - Dgraph - 无法存储表情符号
- excel - 选择范围取决于两个关键词
- r - 评估闪亮的应用程序输入是否不为空不工作,如何做对?
- html - 如何将 div 对齐到页面的右侧
- .net-core - C# 通过 Visual Studio 2019 将 .NET Core 3.0 编译为 Native Code
- c# - C# GetLength 二维数组。指数数组的边界之外
- html - 文本旁边的图像(响应式)
- python - 错误:列表索引必须是整数或切片,不能在 python 中的二进制搜索程序下面浮动,请给我一个解决方案