У меня проблема со сценарием. При записи нового пароля пользователя записывается нормально. Я попытался зашифровать с помощью MD5 или sha1, правильно зашифрован в базе данных, но он автоматически изменил значение пароля. Например:Шифрование паролей
Если я зарегистрирую пароль «mypassword», в базе данных зашифровано правильно. Но если я выйду из системы, а затем снова подключусь, введя пароль «mypassword», он не узнает его больше, но распознает только один зашифрованный.
Это не нормально. Я пытаюсь вставить код.
<?php
session_start();
include '../_database/database.php';
if(isset($_REQUEST['signup_button'])){
$user_email = $_REQUEST['user_email'];
$user_firstname = $_REQUEST['user_firstname'];
$user_lastname = $_REQUEST['user_lastname'];
$user_username = $_REQUEST['user_username'];
$user_password = $_REQUEST['user_password'];
$sql="INSERT INTO user(user_firstname,user_lastname,user_email,user_username,user_password,user_joindate,user_avatar) VALUES('$user_firstname','$user_lastname','$user_email','$user_username', '$user_password',CURRENT_TIMESTAMP,'default.jpg')";
mysqli_query($database,$sql) or die(mysqli_error($database));
$_SESSION['user_username'] = $user_username;
header('Location: ../update-profile-after-registration.php?user_username='.$user_username);
}
?>
И
<form class="form col-md-12 center-block" action="components/registration.php" method="post" autocomplete="off">
<div class="row">
<div class="col-lg-6" style="z-index: 9;">
<div class="form-group">
<input type="text" class="form-control input-lg" placeholder="First Name" name="user_firstname" required>
</div>
</div>
<div class="col-lg-6" style="z-index: 9;">
<div class="form-group">
<input type="text" class="form-control input-lg" placeholder="Last Name" name="user_lastname" required>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="form-group">
<input type="email" class="form-control input-lg" placeholder="Email Address" name="user_email" required>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="form-group">
<div class="input-group">
<span class="input-group-addon">
<!-- http://<?php echo $rws['domain_websiteaddress'];?>/user_username= --> know.me/
</span>
<input type="username" class="form-control input-lg" placeholder="username" name="user_username" id="user_username" required>
<span class="input-group-addon" id="status"></span>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="form-group">
<input type="password" class="form-control input-lg" placeholder="pasword" name="user_password" required>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-6">
<div class="form-group">
<button class="btn btn-primary ladda-button" data-style="zoom-in" type="submit" id="SubmitButton" value="Upload" style="float:left;" name="signup_button"/>Register</button>
</div>
</div>
</div>
</form>
'MD5' и' SHA1' являются * не * алгоритмами шифрования. Это * хэш-алгоритмы *. Также * ни * не должен использоваться больше. Они небезопасны. –
Пожалуйста, посмотрите [password_hash()] (http://www.php.net/manual/en/function.password-hash.php) и [password_verify] (http://www.php.net /manual/en/function.password-verify.php), они подходят для хэш-паролей. – martinstoeckli
Спасибо за ваши ответы, я попробовал пароль_hash, но это дало мне ошибку. Не могли бы вы сделать мне быстрый пример? – Okram92