代码:
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包含自己的实现,并将使用它 如果系统缺乏对一种或多种算法的支持。
但算法不应该有所不同。
请帮忙。
答案 0 :(得分:1)
在PHP 5.3.0之前,Blowfish仅在您的系统的C库提供它时才可用(并且几乎没有人提供)。在没有Blowfish实现的系统中传递Blowfish盐会导致算法选择的错误 - 通常是DES哈希。