我使用md5来哈希我的密码,但是当我尝试登录时,我无法登录。不知道接下来该做什么

时间:2011-05-27 04:12:15

标签: php mysql database md5

我有一个带有哈希密码的登录表单到数据库但是当我使用我分配的密码登录时,我无法登录,我不知道下一步该做什么。我使用md5来散列密码。

这是我将数据插入数据库的代码:

<?php
$con = mysql_connect("localhost","abc123","abc123");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("database_db", $con);


$password= $_POST['password'];
$encrypt_password=md5($password);

$sql="INSERT INTO username (username, password)
VALUES
('$_POST[username]','$encrypt_password')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "1 data added";

mysql_close($con)
?>

1 个答案:

答案 0 :(得分:2)

您必须以与存储密码输入完全相同的方式重新输入密码输入。

示例:

if (md5($_POST['password']) === $stored_md5_password)
{
    // Password is valid
}

MD5通常被认为是弱哈希算法,特别是当SHA加密很容易获得时。一些有趣的相关读物: