javascript - 是否可以使用 js 的 bcrypt 解密用 ruby 的 bcrypt 生成的哈希?
问题描述
我有一个包含老客户数据的数据库,因为他们的密码是使用 bcrypt 保存的以加密密码,是否可以使用相同的密钥在 javascript 中使用库来解密密码?
解决方案
没有。因为您无法“解密”哈希。散列是一种单向函数。
你可以从 egg --> omelette 开始;你不能从煎蛋卷——>鸡蛋。
当用户提交密码时,您不会解密存储的哈希值,而是bcrypt
对用户输入执行相同的操作并比较哈希值。如果它们相同,则您接受身份验证。
在不同语言的给定输入上使用散列算法时,您会得到相同的散列吗?bcrypt
(Ruby 和 JavaScript,或其他)?是的。但这并不意味着您可以用任何一种语言解密哈希。
推荐阅读
- c++ - 对有关“按引用调用函数”的声明感到困惑。
- applescript - 链接到转义键的对话框“取消”按钮
- mysql - 存储具有可变数量字段的电子邮件列表
- case-sensitive - 如何使 spaCy 不区分大小写
- json - 有没有办法如何使用带有 sqlite 后端的 flask_sqlalchemy 保存 json
- html - 每次我想向我的网站添加文章时,是否需要修改我的 HTML 文档?
- windows - 从批处理变量的文件名中提取一个部分
- unity3d - 如何让玩家能够在 Unity 中围绕立方体旋转相机?
- java - Java Web Start - 线程“AWT-EventQueue-2”中的异常 java.lang.NullPointerException
- c# - WPF TTF字体不适用