首页 > 解决方案 > 如何在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 验证器中检查哈希时也会发生同样的情况,我得到错误('无效密码')。

标签: node.jsruby-on-railsbcryptbcrypt-ruby

解决方案


推荐阅读