php如何通过忘记密码邮件获取真实密码?
How to get actual password through forgot password mail in php?
我的代码工作正常,但实际问题是单击提交按钮后从 MySQL 数据库检索的密码与存储在数据库中的 MD5 格式相同,如 e10adc3949ba59abbe56e057f20f883e
,并且很好地传递给了用户收件箱。但是是不是因为hash格式没用。
这是我的工作代码;我可以在将其发送回用户之前对其进行解密吗?我将密码以 MD5 格式存储在 MySQL 数据库中。我收到了类似 "Your password : e10adc3949ba59abbe56e057f20f883e"
的电子邮件
Html代码:
<body>
<h1>Forgot Password<h1>
<form action='#' method='post'>
<table cellspacing='5' align='center'>
<tr><td>Email id:</td><td><input type='text' name='email'/></td></tr>
<tr><td></td><td><input type='submit' name='submit' value='Submit'/></td></tr>
</table>
</form>
Php代码:
<?php
if(isset($_POST['submit']))
{
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "testdb";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn)
{
die("Connection failed: " . mysqli_connect_error());
}
$email=$_POST['email'];
$sql = "select * from users where email='".$email."' ";
$q = mysqli_query($conn, $sql);
$p=mysqli_affected_rows();
if($p!=0)
{
$res=mysqli_fetch_array($q);
$to=$res['email'];
$subject='Remind password';
$message='Your password : '.$res['password'];
$headers='From:Admin120@xxx.com';
$m=mail($to,$subject,$message,$headers);
if($m)
{
echo'Check your inbox in email';
}
else
{
echo'email is not send';
}
}
else
{
echo'You entered email id is not present';
}
}
?>
</body>
您无法解密MD5密码。您可以遵循的流程是:
- 向用户发送一封包含 link
的电子邮件
- 在检查客户是否使用已验证的电子邮件 ID 和令牌后,使用新表单打开 link。
- 提供 2 个文本框来更新他的密码/设置新密码。
希望对您有所帮助!
我的代码工作正常,但实际问题是单击提交按钮后从 MySQL 数据库检索的密码与存储在数据库中的 MD5 格式相同,如 e10adc3949ba59abbe56e057f20f883e
,并且很好地传递给了用户收件箱。但是是不是因为hash格式没用。
这是我的工作代码;我可以在将其发送回用户之前对其进行解密吗?我将密码以 MD5 格式存储在 MySQL 数据库中。我收到了类似 "Your password : e10adc3949ba59abbe56e057f20f883e"
的电子邮件Html代码:
<body>
<h1>Forgot Password<h1>
<form action='#' method='post'>
<table cellspacing='5' align='center'>
<tr><td>Email id:</td><td><input type='text' name='email'/></td></tr>
<tr><td></td><td><input type='submit' name='submit' value='Submit'/></td></tr>
</table>
</form>
Php代码:
<?php
if(isset($_POST['submit']))
{
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "testdb";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn)
{
die("Connection failed: " . mysqli_connect_error());
}
$email=$_POST['email'];
$sql = "select * from users where email='".$email."' ";
$q = mysqli_query($conn, $sql);
$p=mysqli_affected_rows();
if($p!=0)
{
$res=mysqli_fetch_array($q);
$to=$res['email'];
$subject='Remind password';
$message='Your password : '.$res['password'];
$headers='From:Admin120@xxx.com';
$m=mail($to,$subject,$message,$headers);
if($m)
{
echo'Check your inbox in email';
}
else
{
echo'email is not send';
}
}
else
{
echo'You entered email id is not present';
}
}
?>
</body>
您无法解密MD5密码。您可以遵循的流程是:
- 向用户发送一封包含 link 的电子邮件
- 在检查客户是否使用已验证的电子邮件 ID 和令牌后,使用新表单打开 link。
- 提供 2 个文本框来更新他的密码/设置新密码。
希望对您有所帮助!