问题标签 [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 函数,password_hash
在一个字符串中输出算法、成本、盐和哈希,因此password_verify
可以检查密码。
PHP 页面的示例输出:
所以$2y$代表算法,10代表成本。但是如何password_verify
将盐与哈希分开呢?之后我看不到任何标识符将两者分开。
php - password_hash 和 password_verify 的密码散列问题
我目前将我的服务器升级到 PHP 5.5,并希望充分利用新功能password_hash
和password_verify
.
我似乎无法正确验证哈希?我已经从 PHP 手册中复制了确切的示例,但它似乎仍在返回false
?
他们是我缺少的东西吗?
返回
php - 在数据库或 php 代码中使用 bcrypt 散列密码?
我在我的 php 应用程序中随处使用bcrypt 进行密码散列。但是,仍然可以选择在数据库中使用bcrypt 或在 php 代码中使用 bcrypt 。虽然我相信使用 bcrypt 比大多数其他散列选项更好,但通过数据库中的函数还是通过 php 中的函数使用 bcrypt 是否更安全?
php - PHP password_hash() password_verify() 最大密码长度?
我可以在 PHP 5.5 中使用的最大密码长度是password_hash()
多少password_verify()
?
php - 将 md5 密码哈希转换为 PHP 5.5 password_hash()
PHP 5.5 中新的 password_hash API 很好,我想开始在任何地方使用它。给定一个具有旧数据库的旧项目,其中密码存储在 md5 哈希中,将旧用户密码迁移到新的、更安全的 API 的最佳方法是什么?
除了简单地提示用户在下次登录时重置密码(这对用户来说是不切实际且烦人的)之外,我还考虑过使用当前 md5 哈希作为我所有现有用户的 password_hash() 输入的可能性。要验证这些用户的密码(在登录期间),我会将他们的输入转换为 md5 哈希,然后将其用于 password_verify()。新用户可以省去这个额外的步骤。
这是一个值得的方法吗?有没有更好的透明迁移方法,用户不会因为密码重置而烦恼,但我可以立即享受更安全的散列带来的好处?
最重要的是,采用现有的 md5 哈希(容易被暴力破解)并使用 password_hash() API 来“双重哈希”它是否有安全优势?
php - PHP password_hash():密码散列在系统之间是否可移植?
我相信使用 PHP 的 password_hash() 函数散列的密码可能会转移到不同的系统,并且仍然可以成功地用于验证目的。
据我了解,bcrypt 哈希包含所有必要的组件,当与纯文本密码结合使用时,可以验证给定的密码。因此,可以将散列带到任何具有兼容实现的系统并用于验证目的。
我很快就会尝试这个,但在我这样做之前,我想知道我的理论是否正确。
它是否正确?
php - 如何在 PHP 5.5 中使用 password_needs_rehash 函数
我的数据库中有一组密码,我之前使用 sha512 进行了散列,现在我已经将服务器升级到 PHP 5.5,我想使用 bcrypt 密码散列。所以我的想法是让用户登录,然后调用这里描述的这个 password_needs_rehash 函数来检查密码,然后更新数据库中的密码哈希:
http://php.net/manual/en/function.password-needs-rehash.php
我不确定如何使用这个函数,这里没有列出示例,也没有真正阐明选项数组的用途。我是否只需要像这样调用 password_needs_rehash 函数:
php - 对于(PHP 5 < 5.5.0),password_hash() 的替代方法是什么?
根据手册:password_hash这个函数可以用于(PHP 5 >= 5.5.0)
在寻找另一种方法后,我从这里找到了这个简单的功能:http ://www.sitepoint.com/password-hashing-in-php/
我可以在使用function_exists
之前通过使用来管理我的代码,但我的问题是关于上述替代代码是否安全,或者在旧版本的 PHP 中是否有任何替代代码?
php - PHP 安全登录 cookie,我做得对吗?
我对 PHP/MYSQL 很陌生,我现在的目标是创建一个安全的简单登录 cookie,这就是我所做的:
- 当新用户注册时,脚本会创建一个随机散列(加盐)字符串,如下所示:a4c7be8b6426f34c13adc37ba69db2dd,并将其作为“特殊 cookie”保存在数据库中。
- 每个用户都有自己的“特殊 cookie”。
- 当用户尝试成功登录时,脚本会从数据库中获取他的特殊 cookie并将其作为cookie 保存到浏览器。
- 在每个页面中,脚本通过将浏览器中保存的 cookie与数据库中的“特殊 cookie”进行比较来确保用户已登录。
这足够安全吗?
顺便说一句,我还有一个问题,在 PHP 5.5 中,仅password_hash()就足够安全了吗?
提前致谢。
php - PHP 5.5 的新 password_hash 函数中随机生成的密码盐有什么用?
我刚刚阅读了 PHP 5.5 中的新功能,它包括新的密码哈希功能(http://www.php.net/manual/en/function.password-hash.php)。现在如果你看描述,它的默认操作是随机生成一个密码盐,如果你不指定一个。
但我不明白这有什么用。因为如果您要对密码进行哈希处理以安全存储并且盐是随机的。然后,当您运行用户输入的密码字符串时,如果盐每次都不同,则生成的哈希每次都会不同。因此,您将无法成功地将输入的有效密码与密码哈希的存储副本进行比较。
那么这怎么可能有用呢?