如何在 Linux (Debian) 服务器上启用对影子密码和 PHP 的 crypt_blowfish 支持?
我指的是OpenBSD 风格的基于 Blowfish 的 bcrypt,在 PHP 中称为 CRYPT_BLOWFISH。
据我所知,它没有 Debian 软件包,我还有哪些其他选项可以为 PHP 启用这种散列算法?
注意:
PHP 的crypt() 函数与底层操作系统提供的C 库 crypt(3)函数相对直接地接口。
更新
包命名并不像(应该)那样清晰。PEAR Crypt_Blowfish 包是 PHP 的 MCrypt 扩展的直接替代品,允许快速
的双向河豚加密。
此外,Debian BCrypt 包 也是“普通”双向河豚算法的实现。
我正在寻找的是用于散列密码的 Bcrypt-hash 实现。
你需要在 debian 中安装的包是
libpam-unix2
.然后,您必须在 下编辑以下文件
/etc/pam.d/
,并将所有pam_unix.so
用法更改为pam_unix2.so
:最后,编辑
common-password
文件并将“md5”参数替换为“blowfish”。在进行这些修改后更新的密码将使用河豚进行哈希处理。现有的影子密码不会被修改。资源
要在 PHP 中使用河豚,您需要向
crypt()
. 像这样:您应该首先检查 CRYPT_BLOWFISH==1。而且您需要使用足够长的盐,它等于(或大于)22 个字符。 资源