问题标签 [php-password-hash]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
39 浏览

php - 密码修改密码错误

我正在使用password_hash功能,它在注册表单和登录表单中运行良好,但在更改密码表单期间不起作用,它给我错误消息不正确的旧密码可能是我的代码出错了或者可能是因为password_hash每次生成不同的字符集即使输入相同,如果是这样,使用什么方法更新密码。相同的代码使用 md5 工作。

0 投票
1 回答
14359 浏览

php - password_hash 每次返回不同的值

我正在制作一个登录系统,我想对密码进行哈希处理以使其更安全,但它每次都返回不同的哈希值,甚至无法使用 password_verify() 进行验证,这是我的代码:

这是我的验证代码:

0 投票
0 回答
821 浏览

php - php更新后password_hash()不起作用

今天我们已将 PHP 从5.5.7更新到5.6.13,函数中的所有密码哈希password_hash()都停止工作。

是否有任何信息说明为什么会发生这种情况?我们做错了什么?

当我使用密码重置功能创建密码的新哈希时,它再次正常工作。

密码存储在 MySQL 数据库中,使用varchar(255). 使用的类是Passwords.php

身份验证如下所示:

isPasswordValid 方法如下所示:

这就是我的散列函数的样子:

这是更新前(不工作)和密码重置后(工作)的哈希值

我宁愿不给你密码本身:)

0 投票
1 回答
513 浏览

php - 如何使用 password_verify 使登录系统正常工作?

我在 PHP/MYSQL 注册/登录系统上工作了一周,我确实遇到了 php password_hash 和 password_verify 函数的问题......注册工作并且使用 password_verify 登录一直失败,我不明白为什么......有人可以帮忙出去?我真的很绝望。

登录部分..我要实现的目标 1-检查电子邮件是否为空以及是否有效电子邮件..2-检查密码是否为空。3-如果 $email 和 $password 都正常..它会连接到 db.. 然后 a-它检查电子邮件是否存在于表 users 中,如果不存在则需要注册..b-如果用户存在于 db 中,然后它验证 $password 是否与 db 中的密码相同...如果它是有效密码..它回显“有效”..如果不是有效密码..它回显“无效电子邮件/密码”...即我想要达到的目标......

我在这里发布完整的代码:

数据库设计

注册.php

登录.php

0 投票
1 回答
5323 浏览

php - PHP密码哈希(),默认或自定义盐?

我正在考虑使用 password_hash() 函数来加密用户密码。我知道如果您不提供此功能,默认情况下会生成盐,甚至鼓励使用默认盐而不是您自己的盐。我目前正在权衡 3 个选项,无法决定选择哪一个,所以如果您能帮助我,我将不胜感激。

1. 选项:password_hash() 与默认盐

2. 选项:password_hash() 和自定义盐

3. 选项:根本不使用 password_hash()

我将此选项基于 2014 年的一篇文章:基于表单的网站身份验证的权威指南。基本上,如果它是比 password_hash() 更安全的方法,我会使用这样的方法:

0 投票
0 回答
37 浏览

php - 如何从 phps password_hash() 中检索正确的盐?

我知道 salt 包含在 的输出中phps password_hash(),但是当我执行以下命令时:

我只能看到原始盐的一部分,最后一个字符似乎被截断或以某种方式转换为其他内容?那么,我如何获得盐的最后一个字符?

更新 对不起,让我澄清一下我的问题:如何从 phps password_hash() 函数返回的哈希中取出盐?我不打算使用自定义盐,只是想获得 php 提供的盐。我的例子只是为了表明,我的 22 长度字符串在哈希中没有完全表示,我的盐只有 21 个字符是可见的。为什么?最后一个字符在哪里?

0 投票
1 回答
76 浏览

php - 奇怪的密码哈希问题

因此,我使用与前一段时间完全相同的脚本,并且由于某种原因,当我移至新域并托管它时遇到了非常奇怪的问题,我创建了一个用户并让 hm 尝试登录,它对他不起作用我用这个 php 从一个随机的 test.php 文件中得到了一个新的哈希值:

然后它工作了,他登录正常,然后我尝试登录到我的主管理员帐户,由于某种原因,即使我现在尝试重新制作哈希 2 次,它现在也无法正常工作。

我不知道发生了什么,有人可以启发我。

下面是登录代码:

用户登录功能:

抓取功能:

连接功能:

PS如果您想在我的网站上尝试获得一个帐户,请告诉我,我会创建一个临时帐户。

0 投票
1 回答
626 浏览

php - PHP password_verify() 在应该为真时返回假

堆栈溢出。

我正在尝试为我的网站制作一个登录系统,使用 PHP 的password_*密码哈希/验证功能,但password_verify()即使我输入正确的密码,它也总是返回 false。

基本流程是: - signup.php 中的哈希密码(使用预设盐进行测试)

我知道这是非常不安全的(一旦它起作用,我会收紧它),但这是我的测试代码。

散列:(signup.php)

验证:(login.php)

哈希肯定存储在数据库中,并且肯定可以正常检索,只是 password_verify() 没有任何内容。

我真的很感激这里的一些帮助。:)

谢谢。

0 投票
1 回答
920 浏览

php - php password_hash 刷新时更改

我正在尝试构建一个带有密码输入的表单。我正在尝试通过散列密码php password_hash并将其保存在数据库中。当用户登录时,我将对他的输入进行哈希处理并检查它是否与数据库中的相同。

问题是当我使用 password_hash 时,每次刷新时它都会给我一个随机输出。输入仍然相同。这使得用户无法登录,因为输出哈希永远不会匹配数据库中的内容。

我正在这样测试它:

我做错了吗?请帮助

0 投票
1 回答
70 浏览

php - 在 PHP 中将哈希值存储为密码

我是哈希密码存储的新手。有人可以指出我可能做错了什么。我正在使用专门的 PHP,而不是 C 或 C 的任何偏差。

存储哈希:

  1. 接收密码
  2. 使用类似的算法和成本因子将其发送到password_hash()函数中。sha-512
  3. 有点卡在这里。迭代时是否使用收到的密码哈希?
  4. pbkdf2使用键偏差功能对其进行长度。
  5. 存储在数据库中。

检索哈希:

  1. 获取用户对密码的尝试。
  2. 也卡在这里,但我假设您使用该password_verify功能。
  3. 如果匹配验证其他拒绝。

如果有人可以发布一个正确的解决方案,那将非常感激。