不同版本的PHP不同的crypt()结果

时间:2013-02-22 09:44:52

标签: php crypt

代码:

echo $a = 'stackoverflow';
echo '<br>';
echo $b = '$2a$10$bf57caf7e1fa23e4b975ab';
echo '<br>CRYPT:<br>';
echo crypt($a, $b);

结果:

PHP 5.2.5

stackoverflow
$2a$10$bf57caf7e1fa23e4b975ab
CRYPT:
$2.LaeiP21fsQ

PHP 5.4.4

stackoverflow
$2a$10$bf57caf7e1fa23e4b975ab
CRYPT:
$2a$10$bf57caf7e1fa23e4b975aOhXjTtYrqOYLfHsxdOxGRhF03.LtKewW 

我想用PHP 5.4.4将脚本移动到新服务器 我想获得与5.2.5哈希相同的效果,否则我将丢失一些数据

如果我使用salt结束$ - 结果是相同的

我读到了这个:

  

从PHP 5.3.0开始,PHP包含自己的实现,并将使用它   如果系统缺乏对一种或多种算法的支持。

但算法不应该有所不同。

请帮忙。

1 个答案:

答案 0 :(得分:1)

在PHP 5.3.0之前,Blowfish仅在您的系统的C库提供它时才可用(并且几乎没有人提供)。在没有Blowfish实现的系统中传递Blowfish盐会导致算法选择的错误 - 通常是DES哈希。

相关问题