问题标签 [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.
php - 为 password_hash() 设置盐
我正在用 PHP 为owncloud
. 我从 CSV 文件中读取用户,然后将它们添加到owncloud database
. 不过我的密码有问题。据我所知,owncloud 使用password_hash()
with BCRYPT
。我有passwordsalt
,但我不确定如何将盐与password_hash()
.
有什么帮助吗?
php - password_verify() 返回 false
我有一个看似自发的问题。突然我的password_verify()
函数返回假。
如您所见,我正在使用 Magento(完全修补 1.7)及其方法来执行查询。
如果我通过password_get_info($findvalue['password'])
它解析它会发现密码有效并输出预期的数据(加密类型等)但是$verified
返回FALSE
数据库字段设置并一直设置为varchar(255)
。
编辑 - -
这是用于创建密码的代码:
此外,这里要求的是一个密码字符串:$2y$10$TfTULzD9eVUEdjaquhcUmOhGD07X5VV3MloCpjaOmpt3GqOBpEhmm
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来实现这一点,但没有结果。
php - 使用 password_hash() 比较注册时的密码
我正在使用 password_hash 函数来保护登录页面上的用户密码。但是,在注册页面上,我要求用户提示他的密码两次,但我无法比较两个哈希值,因为即使密码相同,它们也是不同的。
我应该将两个密码作为字符串进行比较,然后对密码进行哈希处理吗?或者最好的做法是什么?
php - 密码验证功能不起作用
嘿,我对 password_verify 函数有疑问。注册正在工作,但由于某些奇怪的原因,当我尝试使用它进行登录时它只是说不正确。
这是我的代码(请不要评判,我对一切都还很陌生。
有谁知道为什么这不起作用?我仔细检查了所有内容,应该没问题,echo $passwordHash 只是我检查我是否能够获得正常工作的密码。:/
php - PDO odbc 返回错误的哈希密码字符串
我将我的用户密码散列到SQL Server 2008 R2中。注册顺利。哈希密码通过以下代码正确保存:
当我想做登录脚本时,我执行以下操作:
这总是返回 false,因为由于某种原因,用户信息在电子邮件和散列密码中出现问题。
如果我从第一个查询获得的用户信息中执行 var_dump(),我会得到:
由于某种原因,散列和电子邮件字段出现问题。
提前感谢您的帮助。
php - 为什么密码哈希没有更新.... Mysqli Prepared Statement
我在数据库中没有更新密码哈希有一点问题,我正在努力看看我做错了什么。如果有人可以提供帮助,将不胜感激。
基本上我有一个 login.php 脚本,它过去只是将 md5 和 salt 用于用户的密码并将其存储在 mysql db 中,我知道它已经过时了。所以我最近尝试更新它以在用户下次登录时将用户密码更新为 PHP password_hash。
我首先通过 post 收集密码,然后调用 db 将其与 db 中的哈希值进行比较。如果密码验证我然后通过 password_needs_rehash 运行 db 密码以检查它是否需要重新散列。如果确实如此,那么它将生成一个新的 has 并将其存储到一个变量中,以便通过 mysqli 准备语句运行,该语句更新哈希以及他们上次登录的时间,否则它只会使用上次登录。
它似乎无法更新新的哈希(即使我已经检查过它是否已生成),但仍会更新查询中的时间。没有来自异常代码的电子邮件或任何要报告的 php 错误。
我已经在代码的每个部分中重复了,它似乎正在运行到正确的 sql 语句。
我只能认为我要么错过了一个明显的错字,要么我的逻辑在某个地方有错误。
任何帮助总是很感激,谢谢。
php - password_verify() 无法正常工作
我的控制器
我的模型
我正在对我的登录名进行密码散列,我添加了默认密码散列()。当我验证密码无法正常工作时,任何密码类型都会登录到仪表板。我在这里忘记了什么,任何帮助将不胜感激。
php - 上传到网络服务器后无法查看页面
这在我的本地主机上运行良好,但是当我将它上传到我的网络服务器时,它开始给我一个错误。这实际上不是错误,但它向我显示了page is not working. Page is currently unable to handle this request.
它显示在我的 changepassword.php 页面上。我不确定我该怎么办?
我试过了
但它给了我一个致命的错误
php - 如果在 php 中更新了默认的 password_hash 哈希,这会影响用户未来的登录尝试吗?
假设您正在使用 php 中内置的 password_hash 和 password_verify 函数并使用默认散列算法(当前为 bcrypt)。现在,鉴于这是默认设置,如果更改,这将影响将来的 password_verify 功能,不是吗?那么,程序员将来是否需要编写代码来检查这一点,即如果 PASSWORD_DEFAULT != bcrypt,使用 bcrypt 继续验证过程,然后根据新算法更新数据库?