加密表单数据MD5

时间:2015-03-31 21:38:00

标签: html forms encryption md5 password-encryption

我有以下表格:

       <form method="post" enctype="application/x-www-form-urlencoded" action="logincheck.php" autocomplete="off" >
       <table>
       <tr>
       <td><label for="username">Username</label></td>
       <td><input type="text" name="username"></input></td>
       </tr>
       <tr>
       <td><label for="password">Password</label></td>
       <td><input name="password" type="password"></input></td>
       </tr>
       <tr>
       <td><input type="submit" value="Submit"</input></td>
       </tr>
       </table>
       </form>

loginsuccess.php有以下检查(有更多PHP代码,但这是相关部分):

$username = mysqli_real_escape_string($connect, $_POST['username']);
$password = mysqli_real_escape_string($connect, $_POST['password']); 

$encrypted_mypassword=md5($password);

$query = "SELECT * FROM students WHERE username = '".$username."' AND password = '".$encrypted_mypassword."'"; 
$result = $connect->query($query);

用户应该被带到另一个页面(没有新的页面:

$encrypted_mypassword=md5($password);

但是他们被发送到错误页面并且它不起作用。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

问题似乎是您将密码存储在数据库中的明文中。您需要存储密码的哈希

请记住,MD5目前不是用于密码散列的合适算法,特别是如果它也是未加盐的。它太快了,可以相对容易地进行暴力搜索。请改用password_hash()