web-dev-qa-db-ja.com

cryptのblowfishベースのハッシュサポートを有効にする

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実装です。

13
Jacco

Debianにインストールする必要があるパッケージは_libpam-unix2_です。

次に、_/etc/pam.d/_の下にある次のファイルを編集し、すべての_pam_unix.so_の使用法を_pam_unix2.so_に変更する必要があります。

  • 共通勘定
  • common-auth
  • 共通パスワード
  • 共通セッション

最後に、_common-password_ファイルを編集し、「md5」パラメーターを「blowfish」に置き換えます。

これらの変更が行われた後に更新されたパスワードは、Blowfishを使用してハッシュされます。既存のシャドウパスワードは変更されません。 ソース

PHPでフグを使用するには、crypt()にフグの塩を提供します。このような:

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

まず、CRYPT_BLOWFISH == 1かどうかを確認する必要があります。また、22文字以上の十分な長さのソルトを使用する必要があります。 ソース

9
hayalci