出于某种原因,它显示加密的密码,我认为我使用了explode()不正确.. 有人能指出我正确的方向吗?
<?php
$teamname = $_POST['teamname'];
$teamname = strtolower($teamname);
$u_username = $_POST['username'];
$u_username = strtolower($u_username);
$key = $_POST['password'];
// encrypt
$iv = md5(md5($key));
$output = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, $iv);
$output = base64_encode($output);
$file = readfile("teams/$teamname/config.txt","r"); // try to figure out why it's not working
list($username, $password) = explode(":", $file);
if ($u_username === $username)
{
if ($password === $u_password)
{
echo "Successfull";
}
else
{
echo "Incorrect Password";
}
}
else
{
echo "Incorrect Username..";
}
?>
CONFIG.TXT 伊万:bKaeoqHLoPI058d6GJ9IlA4fA / mcoRJ70ZNI3gAczU4 =
答案 0 :(得分:2)
这是因为您将密码存储为$output
,但您引用的是$u_password
if ($password === $u_password) {
echo "Successfull";
} else {
echo "Incorrect Password";
}
应该是
if ($password === $output) {
echo "Successfull";
} else {
echo "Incorrect Password";
}
<强>替代地强>
$output = base64_encode($output);
应该是
$u_password = base64_encode($output);
<强> TEST 强>
if ($u_username == $username)
{
if ($password == $u_password)
{
echo "Successfull";
} else {
echo "Incorrect Password [" . $u_password . '] != [' . $password . ']';
}
} else {
echo "Incorrect Username.. [" . $u_username . '] != [' . $username . ']';
}