php5.2或5.3上的bcrypt

php5.2或5.3上的bcrypt,php,hash,bcrypt,Php,Hash,Bcrypt,我想在PHP中使用bcrypt哈希,我将使用的共享服务器是普通的Unix,我不能在它们上安装任何东西。我的php版本是5.3或5.2,而不是5.5,使用密码\u散列的代码将不起作用 $password = '123456'; $options = array( 'cost' => 7, 'salt' => 'BCryptRequires22Chrcts', ); $hash=password_hash($password, PASSWORD_BCRYPT, $opti

我想在PHP中使用bcrypt哈希,我将使用的共享服务器是普通的Unix,我不能在它们上安装任何东西。我的php版本是5.3或5.2,而不是5.5,使用密码\u散列的代码将不起作用

$password = '123456';
$options = array(
    'cost' => 7,
    'salt' => 'BCryptRequires22Chrcts',
);
$hash=password_hash($password, PASSWORD_BCRYPT, $options);
尽管有很多关于bcrypt的对话,但我没有找到任何关于它的清晰命令或代码示例。 net有一个about-crypt命令,这对于初学者来说是非常混乱的。 我只想实现这样一个功能:

bcrypt($password,$salt)
有没有简单的命令(不是包括循环在内的几十个代码)可以做到这一点? 如果没有,是否有任何可下载的代码


提前感谢

对于5.2不太确定,但是对于5.3.7+有一个简单的文件可以添加此PHP5.5功能

PHP版本5.3.7及更高版本提供了一个兼容包,因此您不必等待版本5.5才能使用此函数。它以单个php文件的形式出现:

  • 作者:martinstoeckli-

有一个库,允许PHP5.3和5.4使用新的5.5
password\u xxx()
函数

你可以下载它

这个库是由在PHP5.5中编写实际内置的
password\uxxx()
函数的PHP核心开发人员编写的,因此它是100%兼容的。只要在代码中包含它,PHP5.3和5.4就可以像PHP5.5一样使用这些函数

该库与PHP5.2不兼容,因为PHP5.2不再受支持(并且已经两年多不受支持)。如果您使用的是5.2,您应该立即考虑升级

还请注意,即使在PHP5.3上,您也需要使用高于5.3.7的版本,因为它依赖于补丁版本中修复的功能。(运行库时,库将对此进行测试)


如果您绝对无法将PHP升级到与此库兼容的版本,那么下一个最佳选择是使用由同一作者编写的旧密码管理器库。

首先,请停止使用PHP 5.2——它在两年多前被宣布为使用寿命终止,还有几个未修补的安全漏洞。@Spudley说他使用共享主机。通常情况下,您无法更新它们self@Hendriq-那么你应该使用不同的托管公司;任何一家托管公司仍然强迫用户坚持使用5.2,这都是疏忽大意。这意味着他们两年来没有在PHP版本上做过任何安全修补,而且他们在服务器上修补其他软件可能也已经过时了。@Spudley,我不能否认这一点。我应该补充一点,我只是使用了他们的试用服务。也许他们的优势在于使用不同的版本。在我的一个朋友的另一台服务器上,phpversion是5.3.21Thank,但我在那里找不到关于bcrypt的任何信息:它支持bcrypt(也称为blowfish),并且它是默认的哈希类型,使用它之后,我可以保证它确实生成bcrypt哈希。如果您正在阅读源代码,那么它有一个名为
Blowfish
的类,可能与此相关。