Linux(Debian)サーバーでシャドウパスワードとPHP)のcrypt_blowfishサポートを有効にするにはどうすればよいですか?
私は OpenBSDスタイルのBlowfishベースのbcrypt を参照しています。PHPでCRYPT_BLOWFISHとして知られています。
Debianパッケージがないことを知っている限り、PHPでこのハッシュアルゴリズムを有効にするには、他にどのようなオプションが必要ですか?
注意:
PHPの crypt()関数 は、基盤となるオペレーティングシステムによって提供される C-library crypt(3) 関数と比較的直接インターフェースします。
更新
パッケージの命名は、可能な限り(すべき)明確ではありません。
PEAR Crypt_Blowfishパッケージ はPHPのMCrypt拡張機能のドロップイン置換であり、迅速な双方向blowfish暗号化を可能にします。
また、 Debian BCryptパッケージ も「通常の」双方向blowfishアルゴリズムの実装です。
私が探しているのは、パスワードをハッシュするためのBcrypt-hash実装です。
Debianにインストールする必要があるパッケージは_libpam-unix2
_です。
次に、_/etc/pam.d/
_の下にある次のファイルを編集し、すべての_pam_unix.so
_の使用法を_pam_unix2.so
_に変更する必要があります。
最後に、_common-password
_ファイルを編集し、「md5」パラメーターを「blowfish」に置き換えます。
これらの変更が行われた後に更新されたパスワードは、Blowfishを使用してハッシュされます。既存のシャドウパスワードは変更されません。 ソース
PHPでフグを使用するには、crypt()
にフグの塩を提供します。このような:
_crypt('sting', '$2a$07$' . substr('saltsaltsalt', 0, CRYPT_SALT_LENGTH) )
_
まず、CRYPT_BLOWFISH == 1かどうかを確認する必要があります。また、22文字以上の十分な長さのソルトを使用する必要があります。 ソース