signup.phpне сравнится с md5 пароля из базы данных
$password_unencrypted = $_POST['passwd'];
$password=md5($password_unencrypted);
$query = "INSERT INTO Customers (firstname, lastname, username, password, " . "gender,mobile,email) " . "VALUES ('$first_name', '$last_name', '$user_name', '$password', " . " '$gender','$mobile','$email')";
login.php
$username=$_POST['username'];
$password=md5($_POST['password']);
$sql = ("select * from Customers where username='".$username."' and password='".$password."'") or die('Error connecting to MySQL server.');
$query = mysqli_query($con,$sql);
$result=mysqli_fetch_row($query);
if($result)
{
$_SESSION['username']=$username;
header('location:home.html');
}
else
{
echo md5($_POST['password']);
echo 'Your entered username or password is incorrect';
}
В выше регистрации и входа в систему кодов Я ходатайствующих md5 пароля хранения
Я проверил в базе данных пароль md5 правильно хранится, но не возвращается должным образом (я думаю)
t для входа на страницу он не работает
FYI: echo md5 ($ _ POST ['password']); в login.php показывает тот же пароль, хранящийся в базе данных
Используйте [встроенные функции для обработки паролей] в PHP (HTTP://php.net/manual/en/ref.password.php) ([учебник] (http://jayblanchard.net/proper_password_hashing_with_PHP.html)). Если вы используете версию PHP менее 5.5, вы можете использовать пароль_hash() [пакет совместимости] (https://github.com/ircmaxell/password_compat). Вы также должны использовать параметризованные запросы, с помощью заполнителей вместо конкатенации переменных непосредственно в строку запроса. – JimL
Рекомендуемое чтение: [Stackoverflow: почему бы не использовать MD5 для хеширования паролей?] (Http://stackoverflow.com/questions/30496061/why-not-use-md5-for-password-hashing) –
1. Не используйте MD5 или SHA-1, используйте функцию SHA-2, такую как SHA-256. 2. Не используйте статическую соль, каждая запись, использующая один и тот же пароль, будет иметь одну и ту же соль, поэтому, когда вы обнаружите, что все остальные также открыты, используйте случайную соль, которая также сохраняется в БД. 3. Не просто конкатенировать соль, используйте функцию HMAC. 4. необходимо выполнить итерацию функции хэширования, потому что вычисление хэшей происходит очень быстро. 5. Используйте стандартные функции деривации пароля, такие как 'Crypto.HashPassword',' PBKDF2', 'password_hash',' bcrypt', скрипт и т. Д. – zaph