问题标签 [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 投票
2 回答
2867 浏览

php - 为 password_hash() 设置盐

我正在用 PHP 为owncloud. 我从 CSV 文件中读取用户,然后将它们添加到owncloud database. 不过我的密码有问题。据我所知,owncloud 使用password_hash()with BCRYPT。我有passwordsalt,但我不确定如何将盐与password_hash().

有什么帮助吗?

0 投票
1 回答
789 浏览

php - password_verify() 返回 false

我有一个看似自发的问题。突然我的password_verify()函数返回假。

如您所见,我正在使用 Magento(完全修补 1.7)及其方法来执行查询。

如果我通过password_get_info($findvalue['password'])它解析它会发现密码有效并输出预期的数据(加密类型等)但是$verified返回FALSE

数据库字段设置并一直设置为varchar(255)

编辑 - -

这是用于创建密码的代码:

此外,这里要求的是一个密码字符串:$2y$10$TfTULzD9eVUEdjaquhcUmOhGD07X5VV3MloCpjaOmpt3GqOBpEhmm

0 投票
2 回答
2801 浏览

android - 如何在 Android 中使用 PHP 的 password_hash

我有一个存储在数据库中的密码,该密码是使用 PHP 的password_hash散列算法加密的。

例子:

会产生哈希:

来自 PHP 的文档:

PASSWORD_DEFAULT -使用 bcrypt 算法(默认为 PHP 5.5.0)。请注意,此常量旨在随着 PHP 中添加新的和更强大的算法而随时间而变化。因此,使用此标识符的结果长度可能会随时间而变化。因此,建议将结果存储在可以扩展超过 60 个字符的数据库列中(255 个字符将是一个不错的选择)。

PASSWORD_BCRYPT - 使用 CRYPT_BLOWFISH 算法创建散列。这将使用“$2y$”标识符生成标准 crypt() 兼容哈希。结果将始终是 60 个字符的字符串,或者失败时为 FALSE。支持的选项:

正如它所说的那样,它使用 bcrypt 算法,是否有一种方法可以在我的 android 应用程序客户端中生成上面显示的相同哈希?

我曾尝试使用jBcrypt来实现这一点,但没有结果。

0 投票
2 回答
3147 浏览

php - 使用 password_hash() 比较注册时的密码

我正在使用 password_hash 函数来保护登录页面上的用户密码。但是,在注册页面上,我要求用户提示他的密码两次,但我无法比较两个哈希值,因为即使密码相同,它们也是不同的。

我应该将两个密码作为字符串进行比较,然后对密码进行哈希处理吗?或者最好的做法是什么?

0 投票
1 回答
177 浏览

php - 密码验证功能不起作用

嘿,我对 password_verify 函数有疑问。注册正在工作,但由于某些奇怪的原因,当我尝试使用它进行登录时它只是说不正确。

这是我的代码(请不要评判,我对一切都还很陌生。

有谁知道为什么这不起作用?我仔细检查了所有内容,应该没问题,echo $passwordHash 只是我检查我是否能够获得正常工作的密码。:/

0 投票
1 回答
34 浏览

php - PDO odbc 返回错误的哈希密码字符串

我将我的用户密码散列到SQL Server 2008 R2中。注册顺利。哈希密码通过以下代码正确保存:

当我想做登录脚本时,我执行以下操作:

这总是返回 false,因为由于某种原因,用户信息在电子邮件和散列密码中出现问题。

如果我从第一个查询获得的用户信息中执行 var_dump(),我会得到:

由于某种原因,散列和电子邮件字段出现问题。

提前感谢您的帮助。

0 投票
1 回答
378 浏览

php - 为什么密码哈希没有更新.... Mysqli Prepared Statement

我在数据库中没有更新密码哈希有一点问题,我正在努力看看我做错了什么。如果有人可以提供帮助,将不胜感激。

基本上我有一个 login.php 脚本,它过去只是将 md5 和 salt 用于用户的密码并将其存储在 mysql db 中,我知道它已经过时了。所以我最近尝试更新它以在用户下次登录时将用户密码更新为 PHP password_hash。

我首先通过 post 收集密码,然后调用 db 将其与 db 中的哈希值进行比较。如果密码验证我然后通过 password_needs_rehash 运行 db 密码以检查它是否需要重新散列。如果确实如此,那么它将生成一个新的 has 并将其存储到一个变量中,以便通过 mysqli 准备语句运行,该语句更新哈希以及他们上次登录的时间,否则它只会使用上次登录。

它似乎无法更新新的哈希(即使我已经检查过它是否已生成),但仍会更新查询中的时间。没有来自异常代码的电子邮件或任何要报告的 php 错误。

我已经在代码的每个部分中重复了,它似乎正在运行到正确的 sql 语句。

我只能认为我要么错过了一个明显的错字,要么我的逻辑在某个地方有错误。

任何帮助总是很感激,谢谢。

0 投票
1 回答
2022 浏览

php - password_verify() 无法正常工作

我的控制器

我的模型

我正在对我的登录名进行密码散列,我添加了默认密码散列()。当我验证密码无法正常工作时,任何密码类型都会登录到仪表板。我在这里忘记了什么,任何帮助将不胜感激。

0 投票
2 回答
24 浏览

php - 上传到网络服务器后无法查看页面

这在我的本地主机上运行良好,但是当我将它上传到我的网络服务器时,它开始给我一个错误。这实际上不是错误,但它向​​我显示了page is not working. Page is currently unable to handle this request.它显示在我的 changepassword.php 页面上。我不确定我该怎么办?

我试过了

但它给了我一个致命的错误

0 投票
1 回答
442 浏览

php - 如果在 php 中更新了默认的 password_hash 哈希,这会影响用户未来的登录尝试吗?

假设您正在使用 php 中内置的 password_hash 和 password_verify 函数并使用默认散列算法(当前为 bcrypt)。现在,鉴于这是默认设置,如果更改,这将影响将来的 password_verify 功能,不是吗?那么,程序员将来是否需要编写代码来检查这一点,即如果 PASSWORD_DEFAULT != bcrypt,使用 bcrypt 继续验证过程,然后根据新算法更新数据库?