繁体   English   中英

如何在我的PHP代码中加密md5的密码

[英]How can I encrypt password to md5 in my php code

我需要帮助来加密传递给我的演示注册表格的密码。

这是我在表单动作中的execute.php

<?php
session_start();
include('db.php');
$username=$_POST['username'];

$result  =  mysqli_query($db,"SELECT  *  FROM  member  WHERE  
username='$username'");
$num_rows  =  mysqli_num_rows($result);

if  ($num_rows)  {
header("location:  register.php?remarks=failed");
}
else
{

$date = date("Y-m-d");
$fullname= $_POST['fullname'];
$username=$_POST['username'];
$password=$_POST['password'];
mysqli_query($db,"INSERT  INTO  member(date, fullname, username, password)VALUES('$date', '$fullname',         
'$username','$password',)");
header("location:  register.php?remarks=success");
}
?>

这是我的registercheck.php包括

<?php

session_start();

include("db.php");
if($_SERVER["REQUEST_METHOD"]  ==  "POST")
{
$username=mysqli_real_escape_string($db,$_POST['username']);
$password=mysqli_real_escape_string($db,$_POST['password']);
$result  =  mysqli_query($db,"SELECT  *  FROM  member");
$c_rows  =  mysqli_num_rows($result);
if  ($c_rows!=$username)  {
header("location:  index?remark_login=failed");
}

$sql="SELECT  mem_id  FROM  member  WHERE  username='$username' and password='$password'";
$result=mysqli_query($db,$sql);
$row=mysqli_fetch_array($result,MYSQLI_ASSOC);
$active=$row['active'];
$count=mysqli_num_rows($result);
if($count==1)
{
$_SESSION['login_user']=$username;
header("location:  profile");
}
}
?>

我不知道该怎么做的家伙。 请帮我。 任何评论将不胜感激,非常感谢。

你不会的 MD5不够安全,无法提供密码。 它的速度非常快,而且皱着眉头。
相反,您将选择使用password_hashpassword_verify
手册页在解释如何使用它们方面做得很好。

首先,您需要将password_hash的内容存储到数据库中(在注册过程中)。

$password=password_hash($_POST['password'], PASSWORD_DEFAULT);     

要检查密码是否匹配(执行登录检查时),您首先要从数据库中SELECT password ,然后使用password_verify

if(password_verify($_POST['password'], $row['password'])){
     //password matches
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM