[英]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_hash和password_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.