首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP和Bcrypt

PHP和Bcrypt
EN

Stack Overflow用户
提问于 2011-08-14 09:55:30
回答 2查看 1.6K关注 0票数 3

可能重复: 如何使用bcrypt在PHP中哈希密码?

我正在使用PHP开发一个API。我想要迁移的API的上一个版本是使用Rails 3构建的。

我只有一个问题。用户存储的密码采用以下技术进行加密。

代码语言:javascript
复制
BCrypt::Engine.hash_secret(password, user.password_salt);

我如何在PHP (Codeigniter)中做同样的操作,以便用户可以继续使用他们的旧密码?

感谢所有的帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-14 09:59:56

我想你可以用河豚算法来使用隐秘函数:http://php.net/manual/en/function.crypt.php

另一种选择是使用mcrypt:http://www.php.net/manual/en/ref.mcrypt.php

编辑:示例

我会这样做:

代码语言:javascript
复制
$hashedPassword = crypt('password', '$2a$11$abcd');

像这样使用地窖:

代码语言:javascript
复制
hash = crypt(password, salt);

$hashedPassword现在应该包含哈希。

基本上,为了使用吹塑鱼模型,盐需要采用这种格式:$2a$2位成本参数$22位字母数字字符串

若要确定服务器上是否有河豚,请执行以下操作:

代码语言:javascript
复制
if (CRYPT_BLOWFISH == 1) {
    echo 'Blowfish:     ' . crypt('rasmuslerdorf', '$2a$07$usesomesillystringforsalt$') . "\n";
}
票数 1
EN

Stack Overflow用户

发布于 2011-08-14 10:39:55

我不知道它是如何完成的,但是看看油罐Auth的源代码,它使用bcrypt。我认为,如果内置库在系统上存在,并且在必要时返回到包含的版本,那么使用它就足够聪明了。

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

https://stackoverflow.com/questions/7056154

复制
相关文章

相似问题

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