PHP Bcrypt哈希

chn*_*net 1 php hash pear crypt blowfish

我想使用Blowfish哈希来哈希密码.

crypt() 在5.3之前的PHP版本中不支持它

我的PHP版本是5.2.14.我怎样才能使用Blowfish哈希?我可以使用PEAR Crypt_Blowfish吗?

Chr*_*ner 6

PEAR的Crypt_Blowfish旨在代表PHP的MCrypt扩展 - 它是一种双向加密方案,不适用于散列.虽然bcrypt基于Blowfish,但它不是一回事.令人困惑的是,PHP 5.3.0的CRYPT_BLOWFISH是一种散列算法.

是否有可能无法升级到PHP 5.3.0+?这不是您想要尝试自己实现的.如果可以的话,phpass是一种安全地进行基于bcrypt的密码散列的好方法.如果你绝对无法升级,phpass会回归到较旧的哈希方案(但它仍然比普通的MD5更安全等).

如果由于某种原因你可以安装Suhosin但不升级PHP,那将增加CRYPT_BLOWFISH支持.

要确保您当前没有安装CRYPT_BLOWFISH,请尝试以下操作:

 echo (CRYPT_BLOWFISH === 1) ? 'CRYPT_BLOWFISH is enabled!' : 'CRYPT_BLOWFISH is not available'; 
Run Code Online (Sandbox Code Playgroud)

  • 澄清...... php [`crypt()`](http://www.php.net/manual/en/function.crypt.php)函数,可以设置为使用[`CRYPT_BLOWFISH`] (http://www.php.net/manual/en/function.crypt.php)方法(在链接页面上定义)是一个盐渍哈希函数,在哈希值上有4到31次迭代.这不是双向加密功能. (2认同)