PHP and Bcrypt
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
How do you use bcrypt for hashing passwords in PHP?
我正在使用PHP开发API。我想从中迁移的API的早期版本是使用Rails3构建的。
我只有一个问题。使用以下技术对用户存储的密码进行加密。
1 | BCrypt::Engine.hash_secret(password, user.password_salt); |
如何在PHP(codeigner)中执行相同的操作,以便用户可以继续使用他们的旧密码?
感谢大家的帮助!
我不确定是怎么做的,但是看看tank auth的源代码,它使用bcrypt。我认为如果内置库存在于系统中,那么使用它就足够聪明了,如果需要的话,还可以返回到包含的版本。
我认为您可以将crypt函数与blowfish算法一起使用:http://php.net/manual/en/function.crypt.php
另一种选择是使用mcrypt:http://www.php.net/manual/en/ref.mcrypt.php
编辑:实例
我要做的是:
1 | $hashedPassword = crypt('password', '$2a$11$abcd'); |
像这样使用密码:
1 | hash = crypt(password, salt); |
$hashedpassword现在应该包含哈希。
基本上,为了使用吹鱼算法,盐的格式应该是:$2a$[2位成本参数]$[22位字母数字字符串]
要确定服务器上是否有河豚:
1 2 3 4 | if (CRYPT_BLOWFISH == 1) { echo 'Blowfish: ' . crypt('rasmuslerdorf', '$2a$07$usesomesillystringforsalt$') ." "; } |