Javascript 当前密码必须输入哈希吗?

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

在我的changepassword表单中,问题是当我要更改密码时,它不允许我输入当前密码,而是需要md5哈希密码。然而,一旦输入,它将被散列发送,以便该部分是好的

<?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脚本:
在中,如果您也应该散列当前密码。假设数据库中的密码也是散列的。

这与我的代码类似吗?不知道怎么一起做