我遇到了腳本問題。錄製新用戶密碼時正常錄製。我試圖用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'不是*加密算法。他們是*哈希算法*。此外*既不*應再使用。他們不安全。 – 2015-03-24 21:19:49
請查看[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 2015-03-24 21:21:02
感謝您的回答,我嘗試了password_hash,但它給了我錯誤。你能舉個簡單的例子嗎? – Okram92 2015-03-24 21:41:41