使用PHP密码进行加密
我在使用PHP加密时遇到了一个问题 以下是我的代码:使用PHP密码进行加密,php,Php,我在使用PHP加密时遇到了一个问题 以下是我的代码: echo $ret = crypt('Dave@123','$2y$10$XLLl50bLyTWfjcvCAxwGRu/px2Q.LXN0fHpD1KN2CQCMx/tpL1V62'); 1) 在PHP版本5.4.22中使用crypt时 结果是: $2y$10$XLLl50bLyTWfjcvCAxwGRu/px2Q.LXN0fHpD1KN2CQCMx/tpL1V62 2) 当与PHP版本5.2.17一起使用时,结果 $25nFTQHt
echo $ret = crypt('Dave@123','$2y$10$XLLl50bLyTWfjcvCAxwGRu/px2Q.LXN0fHpD1KN2CQCMx/tpL1V62');
1) 在PHP版本5.4.22中使用crypt时
结果是:
$2y$10$XLLl50bLyTWfjcvCAxwGRu/px2Q.LXN0fHpD1KN2CQCMx/tpL1V62
2) 当与PHP版本5.2.17一起使用时,结果
$25nFTQHtfjVg
我想要与1相同的结果。问题是
2y
河豚前缀。它是在PHP5.3.7中出现安全问题之后引入的,因此PHP5.2不知道它,看到一个无效的$salt
,并生成一个无效的散列
PHP5.2中的等价物是
2a
,但它可能会受到上述安全问题的影响(我没有检查)。我知道他们在5.3.7上引入了更新$2y$河豚模式。因此,在PHP5.2.17中,您可能会得到DES。散列的类型由您提供的salt决定。您是否知道1)的第一个结果显示了crypt函数的第二个输入?我不想将输入作为输出返回。@Samuel您知道这是预期行为吗?PHP5.2是live的结束。你其实不想那样-1:只想要某样东西不符合编程问题的条件。编辑:你真丢脸(:):比存在数月并有答案的重复票还要多(!)。可能是重复票