问题标签 [phpass]

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 回答
5249 浏览

php - 盐是否包含在 phpass 哈希中,或者您是否需要对其输入进行加盐?

phpass是一个广泛使用的散列“框架”。
像这样在将普通密码提供给 PasswordHash (v0.2) 之前对其进行加盐是一种好习惯吗?:


供参考 phpsalt 类:

0 投票
2 回答
430 浏览

php - * 如何成为安全的散列密码?

phpass是一个广泛使用的散列“框架”。在评估 phpass'HashPassword我遇到了这个奇怪的方法片段。


回答:我们同意这个类假设我们测试我们的哈希是否相等*作为验证的一种手段。这就是我要包装这个类的原因,因为它的接口不是很好。如果失败,我希望是假的。


这是完整的 phpsalt 类:

0 投票
1 回答
524 浏览

php - phpass自动登录?

您应该如何使用 phpass 作为密码加密在您的网页上创建自动登录功能?

我的意思是,它检查密码的方式是通过为 CheckPassword 方法提供明文密码和该密码的散列字符串(即先前存储的散列)。然后它返回真/假,无论它是否正确。

但是如果你想在你的网页上创建一个自动登录功能,你不想将密码以明文形式存储在你的 cookie 中,而是以散列格式存储。你应该如何检查这些?是否有我错过的另一种方法,或者 CheckPassword 是否接受两个散列密码而不是明文和散列密码?

先感谢您!

0 投票
2 回答
1793 浏览

php - 在多台服务器之间使用 phpass 有多安全?

打开“portable_hashes”。我注意到无论出于何种原因,它生成的哈希值并不总是相同的 - 但在通过“CheckPassword”传递时总是返回有效。我还注意到在生成哈希时使用了“PHP_VERSION”——这两件事结合起来让我很担心……便携性如何?我可以在服务器、linux、windows、64 位、32 位等之间移动哈希(保存在用户数据库中)吗?仍然让它们验证吗?我该怎么做才能使密码不再有效?

我问的原因是因为我在我的框架中使用 phpass 作为密码,这将为我的几个网站提供动力,其中许多网站目前有数千名用户 - 在某些情况下我不得不将它们移动到不同的服务器上,当然还有升级php。我也可以将其中的一两个从 Apache 切换到 lighthttpd 或类似的东西。不用说我非常偏执,有一天我会做一个支持噩梦,除了通过电子邮件将新密码发送给每个人(这听起来很不安全)之外,我将无法以任何其他方式解决它。

如果密码被设为无效的可能性很小 - 我必须采取哪些步骤来制作自己的密码哈希生成器?我已经使用了 16 字节随机盐(每用户),除此之外,唯一的另一个问题是拉伸 - 对吗?

0 投票
1 回答
2390 浏览

security - 为 Wordpress 密码生成 PHPPass

我正在开发一个应用程序,我需要根据他的 wordpress 用户名/密码检查用户的真实性。麻烦的是,我不知道如何检查密码是否正确。

我在Wordpress MD5 Password上读到,在 wordpress 2.5 phpass http://www.openwall.com/phpass/被用于 wordpress 密码而不是 MD5 之后。

问题是,如果我有

  1. 用户名密码纯文本
  2. 来自wp-config.php 的wordpress身份验证唯一密钥和盐
  3. 数据库访问

那么如何: 1.我检查用户名/密码组合是否正确。

  1. 更改用户密码

  2. 实现忘记密码的实现

Wordpress 版本 3.0.4,网络博客与大约 20 个站点一起使用。

我知道我应该使用原生 wordpress 功能来做,但在这种情况下,由于 Wordpress 设置的性质,它不是一个选项。

我在这上面花了一个多星期,仍然一无所知!帮助将不胜感激。

0 投票
1 回答
12765 浏览

php - 便携式(PHPPass)密码哈希。我应该使用它们吗?

我正在为我的网站安装用户注册脚本 (Tank Auth)。

在安装指南中说,

警告:默认情况下,该库会生成不可移植的强系统特定密码哈希。这意味着一旦创建,用户数据库就不能转储并导出到另一台服务器。也可以在配置文件中更改此行为。

这让我进退两难。将来我可能想更改服务器,但我也不想要弱密码。便携式密码散列是否存在很大风险?更重要的是,它们所说的哈希是什么意思?是字符长度吗?

0 投票
1 回答
7609 浏览

php - 如何在登录中实现 phpass

我很难在我的登录过程中实现 phpass - 不知道如何与我当前的代码一起实现它。我有两个关于此事的问题

1)我需要使用数据库中的哈希密码验证用户在此行输入的哈希密码:

我一直在互联网上寻找一个例子来说明这一点,但找不到任何东西。此时我该如何实现 phpass?

2) 我数据库中的密码字段当前是varchar(32) - 我是否需要对此进行任何调整以防止在散列新用户密码时被截断?

这是我的全部代码供参考。

提前谢谢了


顺便说一句 PasswordHash.php 包括:


保护这样做:

0 投票
2 回答
679 浏览

php - Phpass - 无法访问所有密码的危险?

抱歉,这可能很愚蠢,但是我对 Phpass 有一些不明白的地方。如果我可以像这样创建一个安全的散列密码:

然后像这样检查它:

那么这意味着从逻辑上讲,密码必须以只能在特定机器上读取的方式存储(否则有人可以在另一台机器上使用“CheckPassword”功能来获取密码)。Phpass 是如何做到这一点的?

如果我将来需要将网站移动到新服务器上,这不会造成问题吗?如何安全地备份我的数据库,以便在发生重大服务器故障时,我可以恢复所有密码?(我是否遗漏了一些明显的东西?)

编辑 - 回应下面的评论,如果不同的机器不影响它,那么如果黑客可以访问我的数据库,为什么他们不能在自己的机器上执行 CheckPassword 来获取原始密码?抱歉,我一定遗漏了一些明显的东西。

编辑 2 - 该死,我错过了一些明显的东西。compare 函数只检查给定的密码和散列密码并返回 true 或 false - 您实际上不必访问密码本身。为自己笨而道歉!

0 投票
2 回答
499 浏览

php - PHP和恢复密码过程

所以我打算phpass在 php 中为我的身份验证系统使用哈希密码。我的问题是,当有人因为忘记密码而要求恢复密码时,最佳做法是什么?你会实施一个问答系统并允许他们在网站上重置它吗?或者您会使用随机密码字符串临时重置他们的密码并通过电子邮件发送给他们吗?要求他们在下次登录时更改它?还是有不同的更好的方法?

0 投票
1 回答
1142 浏览

php - 用 MCRYPT_BLOWFISH 模拟 CRYPT_BLOWFISH

我的问题是,关于河豚,我如何从 mcrypt 获得与从 crypt 获得的结果相同的结果?

我想使用phpass 框架进行密码哈希和验证。只要你有 PHP 5.3 就可以很好地工作,因为crypt(). 我的主机使用 mcrypt 库运行 PHP 5.2.x。

浏览文档并使用 crypt 搜索河豚,结果似乎是'$a2$',两个字符的迭代值,,'$'盐(填充或剪切为 22 个字符),然后是一个 32 base64 字符串表示哈希。

我的问题是我找不到对MCRYPT_MODE_modenames我有意义的解释。以及如何提供mcrypt()我想要的迭代次数?还是这两个函数使用不同形式的不交叉翻译的河豚?