首页 > 解决方案 > 是否可以使用 js 的 bcrypt 解密用 ruby​​ 的 bcrypt 生成的哈希?

问题描述

我有一个包含老客户数据的数据库,因为他们的密码是使用 bcrypt 保存的以加密密码,是否可以使用相同的密钥在 javascript 中使用库来解密密码?

标签: javascriptrubybcrypt

解决方案


没有。因为您无法“解密”哈希。散列是一种单向函数

你可以从 egg --> omelette 开始;你不能从煎蛋卷——>鸡蛋。

当用户提交密码时,您不会解密存储的哈希值,而是bcrypt对用户输入执行相同的操作并比较哈希值。如果它们相同,则您接受身份验证。


在不同语言的给定输入上使用散列算法时,您会得到相同的散列吗?bcrypt(Ruby 和 JavaScript,或其他)?的。但这并不意味着您可以用任何一种语言解密哈希。


推荐阅读