- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我已经为此挠头 2 个多小时了。我研究过关于 stackoverflow 的文章,包括:
而且我无法纠正我的问题。我会很感激一些关于我是多么白痴的指导:
向MySQL数据库插入数据的函数:
function insertUser($userObj) {
$query = $this->databaseConnection->getStntPrepare()->prepare(
"INSERT INTO user(username, userpassword) VALUES (?,?);");
$username = $userObj->getUsername();
$password = password_hash('testing1234', PASSWORD_BCRYPT);
$query->bind_param('ss', $username, $password);
}
通过从 MySQL 检索数据验证用户登录:
function findUser($userObj) {
$query = $this->databaseConnection->getStntPrepare()->prepare(
"SELECT userid, userpassword
FROM user
WHERE username=?");
$pass = 'testing1234'
$query->bind_param('s', $userObj->getUsername());
$query->execute();
$query->bind_result($userid, $hash);
while ($query->fetch()) {
if (password_verify($pass, $hash)) {
echo 'Password is valid!';
} else {
echo 'Invalid password.';
}
}
}
运行时出现“密码无效”。
当我在不插入数据库然后检索的情况下执行以下操作时:
$hash = password_hash('testing1234', PASSWORD_BCRYPT);
if (password_verify('testing1234', $hash)) {
echo 'Password is valid!';
} else {
echo 'Invalid password.';
}
我收到“密码有效!”
我认为我的问题与单引号和双引号以及密码字段中美元符号 ($) 的解释有关,在从 MySQL 存储/检索时作为变量而不是文字(如其中一篇文章所建议的)数据库 - 但是我没有运气解决。以下是 'testing1234' 的哈希值:
$2y$10$1/oQEuYX67n.U3usxH.7tenNq7hT2dKyBSIZsy5xR3W
最佳答案
问题出在数据库中 - 与 password_verify 或 password_hash 无关。数据类型有最大字符数(仅定义为 40,因为我在创建表时被 MySQL 定义为)。移动到 60,没有更多问题。
关于PHP - password_verify 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19891355/
我的 Codeigniter(3.0 版)登录模块中有这个方法。它工作正常,但这安全吗?使用 PHP password_verify 检查登录名和密码是否有更好的解决方案?(PHP 5.6,MySQL
这个问题在这里已经有了答案: PHP password_verify not working against database (1 个回答) 关闭 5 年前。 这应该非常简单:我正在生成一个散列密
我的 Codeigniter(3.0 版)登录模块中有这个方法。它工作正常,但这安全吗?使用 PHP password_verify 检查登录名和密码是否有更好的解决方案?(PHP 5.6,MySQL
这个问题在这里已经有了答案: PHP password_verify not working against database (1 个回答) 关闭 5 年前。 这应该非常简单:我正在生成一个散列密
我正在尝试创建一个更安全的页面,我从密码加密部分开始。我正在尝试实现 password_hash + password verify,但到目前为止,我一直未能使整个工作正常进行。所以,它在我的登录区域
这里是登录代码,我试图让密码验证工作,但它不想。似乎这个 count($sql->fetchAll()) > 0 是问题所在,或者我调用了错误的变量给 password_verify()。 $
我使用 PHP 和 mySQLi 编写了简单的登录脚本。问题是 password_verify() 函数返回空变量。我已经仔细检查了所有内容,但我没有看到它。哪里有问题 ? session_start
我将用户名和加密密码存储在 mysql 数据库中。仅出于测试目的,我还将密码以未加密的形式存储在数据库中。 在下面的代码中,我从数据库中获取散列密码和未加密密码。然后我加密未加密的密码。 给定的密码未
好的,我已经在我的一个页面上使用了 password_hash。 我想知道如何将 password_verify 应用于以下代码: 函数 selectUser($conn, $username, $p
尝试从数据库验证散列密码,用户通过 POST 输入。经过一些简短的研究,这个问题似乎与无法将 mysqli_query 转换为字符串有关,尽管我不知道如何正确地做到这一点,因此我从另一个 SO 问题中
我一直在努力查找有关 password_verify() 是否使用长度常数时间比较来避免定时攻击的信息。 现在,简单的例子: $hash = '$2y$10$HH3906lfby7HOy1N3duQh
我通过 password_hash 散列我插入的密码。我使用 password_verify 验证它们。 然而,当我在我的数据库中插入一个散列密码并尝试验证它时,两个输出总是彼此不同。 我的页面如下,
函数password_verify()在新的 PHP 密码 API 中检查密码是否对应于哈希。哈希由 password_hash() 生成,默认情况下使用随机盐和 cost = 10。 我一直认为(尽
我已经为此挠头 2 个多小时了。我研究过关于 stackoverflow 的文章,包括: Issue with Bcrypt not verifying correctly php password_
我的注册脚本接受用户密码,然后使用 PHP 的 password_hash 函数对密码进行加密,然后将其放入数据库中。当我使用刚创建的用户登录时,出现检查密码是否相同的错误。就我而言,他们不是。我在登
我正在制作一个登录和注册系统。该系统可以正常工作,所以现在我必须为数据库存储的散列密码添加安全性。但是,当我从数据库中检索散列密码并将其与用户输入的密码进行比较时,它不起作用。 所以当我尝试
我正在尝试在某人登录我的网站之前检查他们的密码和用户名。密码都存储在 password_hash($password1, PASSWORD_BCRYPT); 我不确定我做错了什么。目前,无论我输入什么
我正在尝试做一个简单的登录操作,如果您可以调用的话。我正在使用MySQLi,到目前为止看起来还不错。 escape_string($myusername); $link->escape
这个问题在这里已经有了答案: php password_verify() hash and pass won't match (1 个回答) 关闭 5 年前。 $query = "SELECT *
我对这个主题进行了广泛的搜索,但没有人遇到过我能找到的相同问题。 我在 MySQL 表中创建一个用户,使用强度为 10 的 password_hash 的散列。 我一直在努力验证它,并制作了一个测试脚
我是一名优秀的程序员,十分优秀!