web-dev-qa-db-ja.com

owncloudパスワードのハッシュアルゴリズムとは何ですか

次のようなパスワードハッシュを生成するために使用されるアルゴリズムを知る必要があります。$2a$08$ztQUBr1vx97Rc9MiJVr05.LZWg92jGYkRFEJViHhfZjaWpB0xfgGu

私にはbcryptのように見えますが、スクリプトを使用してパスワードをハッシュしたとき、それらは一致しませんでした。したがって、パスワードをデータベースに保存する前に、パスワードに対して何か他のことが行われていると思います。塩ですか?もしそうなら、それは何ですか?

1
Slava Knyazev

crypt(3) は、_$2a$_プレフィックスがBlowfishを示していることを示します。 OpenBSD crypt(3) は、フォーマットに関する詳細を提供します。

Blowfishをサポートするglibcを使用している場合は、基本的に自分でcrypt()を呼び出すか、これを行う別のプログラムを使用できます。 makepasswd がこの目的に役立つことがわかりました。

アルゴリズムの詳細を確認するには、実際のソースコードを参照することをお勧めします。 PHPのバージョンは crypt with 組み込みのBlowfishサポート で、インタラクティブモードから簡単に呼び出すことができます(_php -a_)それでもうまくいかない場合は、ownCloudソースを調べてみてください。

3
jjlin