Javascript 当前密码必须输入哈希吗?
在我的changepassword表单中,问题是当我要更改密码时,它不允许我输入当前密码,而是需要md5哈希密码。然而,一旦输入,它将被散列发送,以便该部分是好的Javascript 当前密码必须输入哈希吗?,javascript,php,mysqli,Javascript,Php,Mysqli,在我的changepassword表单中,问题是当我要更改密码时,它不允许我输入当前密码,而是需要md5哈希密码。然而,一旦输入,它将被散列发送,以便该部分是好的 <?php include 'core/login.php'; include 'core/init.php'; include 'includes/head.php'; if(count($_POST)>0) { $result = mysqli_query($l
<?php
include 'core/login.php';
include 'core/init.php';
include 'includes/head.php';
if(count($_POST)>0) {
$result = mysqli_query($link, "SELECT *from users WHERE id='" . $_SESSION["id"] . "'");
$row=mysqli_fetch_array($result);
if($_POST["currentPassword"] == $row["password"]) {
mysqli_query($link, "UPDATE users set `password`='" .md5(md5($_POST['password'])) . "' WHERE id='" . $_SESSION["id"] . "'");
$message = "Password Changed";
} else $errormessage = "Current Password is not correct";
}
?>
形式是
<form name="frmChange" method="post" action="" onSubmit="return validatePassword()">
<div class="form-group">
<label>Change Password*</label>
<input type="text" name="currentPassword" class="form-control input-md" />
</div>
<div class="form-group">
<label>New Password*</label>
<input type="text" name="newPassword" class="form-control input-md" />
</div>
<div class="form-group">
<label>Confirm Password*</label>
<input type="text" name="confirmPassword" class="form-control input-md" />
</div>
<br />
<div class="text-center">
<input type="submit" name="submit" class="btn btn-success" value="Submit" />
</div>
</form>
JS是
<script>
function validatePassword() {
var currentPassword,newPassword,confirmPassword,output = true;
currentPassword = document.frmChange.currentPassword;
newPassword = document.frmChange.newPassword;
confirmPassword = document.frmChange.confirmPassword;
if(!currentPassword.value) {
currentPassword.focus();
document.getElementById("currentPassword").innerHTML = "required";
output = false;
}
else if(!newPassword.value) {
newPassword.focus();
document.getElementById("newPassword").innerHTML = "required";
output = false;
}
else if(!confirmPassword.value) {
confirmPassword.focus();
document.getElementById("confirmPassword").innerHTML = "required";
output = false;
}
if(newPassword.value != confirmPassword.value) {
newPassword.value="";
confirmPassword.value="";
newPassword.focus();
document.getElementById("confirmPassword").innerHTML = "not same";
output = false;
}
return output;
}
</script>
这就是你正在做的: 接受用户输入 从数据库获取哈希密码 将哈希密码与用户输入进行比较 散列用户输入 将用户输入插入数据库 在进行比较之前,需要对密码进行哈希运算。i、 e 接受用户输入 从数据库获取哈希密码 散列用户输入 将数据库中的哈希密码与用户输入的哈希密码进行比较 将用户输入插入数据库
这就是说,您正在使用并且需要删除您用户的密码 用md5散列密码是不安全的。使用散列。。函数,而不是sha256或sha512。用盐也是个好主意 php脚本:
在中,如果您也应该散列当前密码。假设数据库中的密码也是散列的。这与我的代码类似吗?不知道怎么一起做