为 crypt 启用基于河豚的哈希支持

Jac*_*cco 14 security debian hash

如何在 Linux (Debian) 服务器上为隐藏密码和 PHP 启用 crypt_blowfish 支持?

我指的是OpenBSD 风格的基于 Blowfish 的 bcrypt,在 PHP 中称为 CRYPT_BLOWFISH。

据我所知,没有适用于它的 Debian 软件包,还有哪些其他选项可以为 PHP 启用此散列算法?

注意:
PHP 的crypt() 函数与底层操作系统提供的C 库 crypt(3)函数相对直接接口。

更新
包命名并不像它可能(应该)那么清楚。
PEAR包crypt_blowfish的是一个简易替换为PHP的mcrypt扩展,允许快速双向Blowfish加密。

此外,Debian BCrypt 软件包 也是“正常”双向河豚算法的实现。

我正在寻找的是用于散列密码的 Bcrypt-hash 实现。

hay*_*lci 10

您需要在 debian 中安装的软件包是libpam-unix2.

然后,您必须编辑 下的以下文件/etc/pam.d/,并将所有pam_unix.so用法更改为pam_unix2.so

  • 普通账户
  • 共同认证
  • 通用密码
  • 共同会议

最后,编辑common-password文件并将“md5”参数替换为“blowfish”。

在进行这些修改后更新的密码将使用河豚进行散列。不会修改现有的影子密码。来源

要在 PHP 中使用河豚,您需要向crypt(). 像这样:

crypt('sting', '$2a$07$' . substr('saltsaltsalt', 0, CRYPT_SALT_LENGTH) ) 
Run Code Online (Sandbox Code Playgroud)

您应该首先检查是否 CRYPT_BLOWFISH==1。并且您需要使用足够长的盐,它等于(或大于)22 个字符。 来源