为cryptbuild立基于blowfish的散列支持

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

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

据我所知,没有Debian软件包,我还有什么其他的选项来启用这个哈希algorithm的PHP?

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

更新
软件包命名不如其可能(应该)那样清楚。
PEAR Crypt_Blowfish包是PHP的MCrypt扩展的替代品,允许快速的双向 blowfishencryption。

Debian BCrypt软件包也是“普通”双向河豚algorithm的实现。

我在找的是散列密码的Bcrypt-hash实现。

    你需要在Debian中安装的软件包是libpam-unix2

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

    • 共同账户
    • 共AUTH
    • 常见的密码
    • 普通会话

    最后编辑common-password文件,用“blowfish”replace“md5”参数。

    这些修改后更新的密码将使用河豚进行哈希处理。 现有的影子密码不会被修改。 资源

    要在PHP中使用河豚鱼,您需要向crypt()提供河豚盐。 喜欢这个:

     crypt('sting', '$2a$07$' . substr('saltsaltsalt', 0, CRYPT_SALT_LENGTH) ) 

    你应该首先检查CRYPT_BLOWFISH == 1。 而且您需要使用足够长的盐(等于或大于)22个字符。 资源