私は、DrupalでBlowfish cryptを使用するかどうか、または使用できるかどうかを尋ねるプロジェクトに質問をしています。
8でパスワードハッシュを実行するクラスはPhpassHashedPassword
で、 https://www.openwall.com/phpass/ に基づいています。そのサイトでは、それは述べています:
現時点で、新しいプロジェクトがPHP 5.5+を必要とする余裕がある場合)、phpassの代わりにPHPのネイティブpassword_hash()/ password_verify()APIを使用してください。この新しいAPIも発生しますphpassで使用されるCRYPT_BLOWFISHおよびCRYPT_EXT_DESハッシュをサポートしますが、残念ながら、phpassポータブルハッシュ(PHPのすべてのバージョンで移植可能)はサポートしていません)。
それは状態に続きます:
Phpassでサポートされる推奨(最も安全な)ハッシュ方法は、OpenBSDスタイルのBlowfishベースのbcryptであり、これもパブリックドメインのcrypt_blowfishパッケージ(Cアプリケーション用)でサポートされ、PHP CRYPT_BLOWFISHとして知られています) 、MD5ベースのソルト化された可変反復回数パスワードハッシュへのフォールバックがphpass自体に実装されています(ポータブルハッシュとも呼ばれます)(0.4までのphpassバージョンには、既知のBSDIスタイルの拡張DESベースのハッシュへの中間フォールバックも含まれていました) in PHP as CRYPT_EXT_DESですが、このタイプの既存のハッシュに対する認証を除いて、これは削除されています。)
Drupal 8でクラスを確認する場合、password_hash
またはpassword_verify
を使用しません。また、sha512
をアルゴとして使用しているようです。 bcrypt
またはBlowfishまたはCRYPT_BLOWFISH
が使用されていると、どこにも見つかりません。
私はBlowfishスタイルのパスワードのサポートに関して この問題 を見つけましたが、それらを作成するためのものではありませんでした。 Blowfishスタイルのパスワードを使用して現在のユーザーベースをインポートする場合、このパッチが必要になると思います。
これを行うためにBlowfishを使用する独自のクラスを実装するのは難しいでしょうか? Drupalこれを行うことで何か影響がありますか?バージョン8がSHA-512
を使用することにしたのはなぜですか?このプロジェクトはPHP 7.2 PHP 5.x BC/reasons/etc。
sha-512
を使用するのはなぜですか?sha-512
の代わりにmd5
を使用するためのカスタムコードがあり、移植されました。 Drupal 8。そのためのモジュールがあります-リンクした問題で述べたように PHP Password モジュールはコアサービスをレガシーハッシュを理解するものに置き換えますが、可能な場合はそれらをbcryptにアップグレードします。