【发布时间】:2019-01-06 19:28:11
【问题描述】:
我来这里是因为我正在处理这个repo。
当我比较来自 firebase 的哈希值和我使用 utility created by firebase 创建的哈希值时,使用相同的盐和相同的参数使用相同的密码,它们是不一样的。
有人对解决方案样本有任何想法吗?我完全被卡住了,我不明白这里发生了什么^^'
谢谢!
编辑:哈希函数(aslo here)
hash (password, salt) {
return new Promise((resolve, reject) => {
exec(
`${__dirname}/../scrypt/scrypt "${this.signerKey}" "${salt}" "${this.saltSeparator}" "${this.rounds}" "${this.memCost}" -P <<< "${password}"`,
{ shell: '/bin/bash' },
(error, stdout) => error ? reject(error) : resolve(stdout),
)
})
}
编辑 2:我忘了说,但我使用 admin sdk 导出用户密码哈希。
【问题讨论】:
-
我不确定问题出在哪里,但是为什么您使用命令行 scrypt 而不是许多执行相同操作的 npm 包之一? (例如npmjs.com/package/scryptsy)
-
您能否提供一个示例和您的代码进行哈希处理?
-
@apaatsio 因为firebase使用的是scrypt的修改版,并没有js实现它。所以我正在尝试创建它哈哈
-
@LazerBass 你可以在 repo 上看到它,但我编辑消息可能更容易
标签: firebase hash passwords firebase-authentication scrypt