可能重复: 如何使用bcrypt在PHP中哈希密码?
我正在使用PHP开发一个API。我想要迁移的API的上一个版本是使用Rails 3构建的。
我只有一个问题。用户存储的密码采用以下技术进行加密。
BCrypt::Engine.hash_secret(password, user.password_salt);我如何在PHP (Codeigniter)中做同样的操作,以便用户可以继续使用他们的旧密码?
感谢所有的帮助!
发布于 2011-08-14 09:59:56
我想你可以用河豚算法来使用隐秘函数:http://php.net/manual/en/function.crypt.php。
另一种选择是使用mcrypt:http://www.php.net/manual/en/ref.mcrypt.php
编辑:示例
我会这样做:
$hashedPassword = crypt('password', '$2a$11$abcd');像这样使用地窖:
hash = crypt(password, salt);$hashedPassword现在应该包含哈希。
基本上,为了使用吹塑鱼模型,盐需要采用这种格式:$2a$2位成本参数$22位字母数字字符串
若要确定服务器上是否有河豚,请执行以下操作:
if (CRYPT_BLOWFISH == 1) {
echo 'Blowfish: ' . crypt('rasmuslerdorf', '$2a$07$usesomesillystringforsalt$') . "\n";
}发布于 2011-08-14 10:39:55
我不知道它是如何完成的,但是看看油罐Auth的源代码,它使用bcrypt。我认为,如果内置库在系统上存在,并且在必要时返回到包含的版本,那么使用它就足够聪明了。
https://stackoverflow.com/questions/7056154
复制相似问题