Php 检查md5是否存在
对PHP还不熟悉,因此仍处于学习阶段。我被要求帮助一个多年前建立的网站,因此DB仍然使用MD5,我需要对其进行排序 我已经写了一些代码,大部分都很好,只是停留在最后一部分。总之,这就是我要做的 用户登录(因此sql从DB获取信息) 从此结果中检查密码&如果以XYZ开头,则转到此页面,如果不转到其他页面。 代码如下,在我开始工作之前,在当地发球Php 检查md5是否存在,php,md5,Php,Md5,对PHP还不熟悉,因此仍处于学习阶段。我被要求帮助一个多年前建立的网站,因此DB仍然使用MD5,我需要对其进行排序 我已经写了一些代码,大部分都很好,只是停留在最后一部分。总之,这就是我要做的 用户登录(因此sql从DB获取信息) 从此结果中检查密码&如果以XYZ开头,则转到此页面,如果不转到其他页面。 代码如下,在我开始工作之前,在当地发球 <!DOCTYPE html> <html> <body> <?php function beg
<!DOCTYPE html>
<html>
<body>
<?php
function begnWith($str, $begnString) {
$len = strlen($begnString);
return (substr($str, 0, $len) ===
$beg string);
}
// if(begnWith($text,"$2y"))
//header("Location:
http://www.bbc.co.uk");
// else
//echo "Old MD5";
?>
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "login";
// Create connection
$conn = new mysqli($servername,
$username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn-
>connect_error);
}
$sql = "SELECT * FROM users
WHERE username='davsas';";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result-
>fetch_assoc()) {
// echo "<br> id: ". $row["id"]. " -
Name: ". $row["username"]. " " .
$row["password"] . "<br>";
$datas[] = $row;
}
}
foreach ($datas[0] as $data) {
echo $data['password'];
}
if(begnWith($data['password'],"$2y"))
header("Location:
http://www.bbc.co.uk");
else
echo "Old MD5";
//foreach ($datas[0] as $data) {
//echo $data;
//}
//foreach ($datas as $data) {
// echo $data['password'];
//}
$conn->close();
?>
</body>
</html>
你想达到什么目标?是否所有当前帐户都有md5密码,并且您希望用安全哈希替换它们?如果是:在数据库中添加一个布尔列来标记它们。如果有人使用md5登录,请使用
password\u hash
覆盖密码并翻转密码。您没有问任何问题。当你插入代码时,它变得乱七八糟,你能编辑代码并正确格式化吗?弗兰兹,我确实想到了,但当他们再次登录页面时,会寻找md5 PW而不是新的散列,如果bool true使用此登录,如果false使用此登录,是否有效?你试图实现什么?是否所有当前帐户都有md5密码,并且您希望用安全哈希替换它们?如果是:在数据库中添加一个布尔列来标记它们。如果有人使用md5登录,请使用password\u hash
覆盖密码并翻转密码。您没有问任何问题。当你插入代码时,它变得乱七八糟,你能编辑代码并正确格式化吗?弗兰兹,我确实想到了,但是当他们再次登录页面时,会寻找md5 PW而不是新的散列,如果bool true使用此登录,如果false使用此登录,这能起作用吗?