首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >python和php bcrypt

python和php bcrypt
EN

Stack Overflow用户
提问于 2014-01-24 18:10:57
回答 1查看 2.7K关注 0票数 6

我使用Laravel来注册用户。它像这样使用bcrypt:

代码语言:javascript
复制
$2y$10$kb9T4WXdz5aKLSZX1OkpMOx.3ogUn9QX8GRZ93rd99i7VLKmeoXXX

我目前正在制作另一个脚本,它将使用python验证来自另一个来源的用户。我安装了py-bcrypt并试用了它。格式如下:

代码语言:javascript
复制
$2a$10$Vj0b0GZegbpXIIpa/lvi9OjkAFJ5zNzziVRW7yN9ssDKVQDX47XXX

但在python上,由于invalid salt的原因,我无法对用户进行身份验证。

我注意到Laravel bcrypt使用$2y,而python使用$2a。我该如何解决这个问题呢?

备注:

代码语言:javascript
复制
I used 10 rounds for both crypts.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-25 09:33:31

我刚刚发现除了名称(前缀)之外,2a2y非常相似。

将laravel散列的2y替换为2a仍然保持散列的完整性,即使您替换了身份,也应该正常工作并与密码匹配。

在我的例子(问题)中,解决方案是使用str.replace('$2y$', '$2a$'),它工作得很好。现在py-bcrypt接受散列而不会出现错误invalid salt

祝你们好运。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21329871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档