PHP:如何在crc32函数中使用%u

时间:2015-02-16 02:34:07

标签: php authentication reverse-engineering crc32

我的身份证明不起作用,我的代码在下面。

<?php
$login = "super";
printf(crc32($login)); // result -691938802
printf("%u",crc32($login)); //result 3603028494
if(crc32($login) * -1 == -3603028494) {
    echo "user correct";
}else{
    echo "user false";
}
?>

我总是让用户弄错,所以,我认为问题来自%u,我如何用$login = "%usuper"之类的东西来改变我的$ login变量 所以我的身份验证代码工作?是否可以在不更改条件的情况下更改$login值,因为我将来会以登录形式使用它。

感谢。

1 个答案:

答案 0 :(得分:0)

crc32()返回一个int,它是一个带符号的32位整数。您显示的两个数字是相同的数字,即完全相同的32位,只是解释不同。 2 ^ 32 - 691938802 == 3603028494。没问题。