我已经将sha512密码保存到DB,我正在尝试一个简单的登录屏幕来检查密码。我总是得到一个密码错误的错误。
我重复了结果,所有文本都显示正确。我不确定这里会出什么问题?
守则的结果:
Actual qwerty123!
48a2d06f950fe0bece5ea4749e9db40e2ea17e6353476331839e967b0b7fbd9e4b6c999177e708385f09aca4c7d79884d9b472f4b39d901fffbd5677a9ed26f7 512
48a2d06f950fe0bece5ea4749e9db40e2ea17e6353476331839e967b0b7fbd9e4b6c999177e708385f09aca4c7d79884d9b472f4b39d901fffbd5677a9ed26f7 inside while
48a2d06f950fe0bece5ea4749e9db40e2ea17e6353476331839e967b0b7fbd9e4b6c999177e708385f09aca4c7d79884d9b472f4b39d901fffbd5677a9ed26f7 db
48a2d06f950fe0bece5ea4749e9db40e2ea17e6353476331839e967b0b7fbd9e4b6c999177e708385f09aca4c7d79884d9b472f4b39d901fffbd5677a9ed26f7 Wrong
<?php
session_start();
ob_start();
require('db/config.php');
$password = "qwerty123!";
echo "Actual " . $password;
echo "</br>";
echo "</br>";
$password = hash('sha512', $password);
echo $password . " 512";
echo "</br>";
echo "</br>";
$username = "admin";
$query = "SELECT * FROM userdetails WHERE username = '$username'";
$result = mysqli_query($conn, $query);
if(mysqli_num_rows($result) > 0)
{
while($row = mysqli_fetch_array($result))
{
echo $password . " inside while";
echo "</br>";
echo "</br>";
echo $row["password"] . " db ";
echo "</br>";
echo "</br>";
if(password_verify($row["password"], $password))
{
echo $row["password"] . " Correct ";
}
else
{
echo $row["password"] . " Wrong ";
}
}
}
?>
您正在将$password更改为哈希:$password=hash('sha512',$password)
password\u verify-验证密码是否与哈希匹配
password\u验证(字符串$password,字符串$hash):bool
您应该将密码传递给该函数,而不是散列。
删除此行并重试:
$password=hash('sha512',$password)
编辑:同时反转传递和散列的顺序:
password\u验证($password,$row[“password”])
在我的登录PHP文件中,我有这些 在我的注册PHP文件中,我有这个。 现在,基本上我使它哈希密码,并插入自己的数据库注册。确实如此。 然而,它无法核实。这两个结果给出了两个不同的哈希,我不知道我可能做错了什么。我也试着让它再次散列输入并检查数据库中的password_hash,但那不起作用... 正确的使用方法是什么? (另外,$passSign和$userInput是输入字段,它确实获取用户名/
当我尝试执行代码时,我收到一个无效的密码错误。我想提及的是,我也在使用相同的密码功能进行注册。但是,当我在登录代码中实现它时,我并没有获得成功。请告诉我我做错了什么,并帮助我修复错误。 另一件事是,我输入的密码与注册演示用户时使用的密码相同/正确。这是登录的代码。
因此,很明显,它识别出输入的名称太短,但我在视图中没有得到任何错误消息,正如这里所预期的:。
有一张Zend登记表。输入用户名、电子邮件、密码和确认密码。电子邮件验证程序如下所示: 有4个验证器:必需类型、电子邮件格式以及数据库中是否有人具有以下电子邮件。错误消息如下:-需要电子邮件-电子邮件地址格式无效-电子邮件地址已存在 尝试使用ajax捕获错误消息和输出时出现问题。在具有以下功能的RegisterController中: 和jQuery文件: 在控制台我得到了这样的东西https:/
问题内容: 非常奇怪的错误。我使用的是http://developers.facebook.com/docs/authentication/。所以我创建了对fb的请求并传递redirect_uri。我在本地主机上使用测试站点。所以如果我通过 redirect_uri = http://localhost/test_blog/index.php 它工作正常,但如果我通过 redirect_uri =
@将有效的打印信息发送到控制台,但不发送到页面 当我的字段有错误@Valid print info到控制台时,为什么不在第页? 字段hotelName上的对象formData中的字段错误:拒绝的值[];代码[Size.formData.hotelName, Size.hotelName, Size.java.lang.String, size];参数[org.springframework.con