パスワード形式

提供: あふりらぼ Wiki
移動先: 案内検索

基本認証

Apacheが基本認証パスワードとして認識する形式は5つある。ただし、すべての形式がすべてのプラットフォームで機能するわけではない。


bcrypt

"$ 2y $" + crypt_blowfishアルゴリズムを利用。

パスワード生成にhtpasswdを使用する場合

$ htpasswd -nbB myName myPassword
myName:$2y$05$c4WoMPo3SXsafkva.HHa6uXQZWr7oboPiC2bT/r7q1BB8I2s0BRqC


MD5

「$ apr1 $」+ランダムな32bitソルトとパスワードのさまざまな組み合わせをMD5ダイジェストで1,000回反復したもので、Apache固有のアルゴリズムとなる。

パスワード生成にhtpasswdを使用する場合

$ htpasswd -nbm myName myPassword
myName:$apr1$r31.....$HqJZimcKQFAMYayBlzkrA/


パスワード生成にOpenSSLコマンドラインを使用する場合

$ openssl passwd -apr1 -salt r31..... myPassword
$apr1$r31.....$HqJZimcKQFAMYayBlzkrA/

MD5パスワードのソルトは、$apr1$次の$からとなる。(Base64でエンコードされたバイナリ値として-最大8文字)
これにより、htpasswdとOpenSSと交互にパスワードの検証が可能となる。


SHA1

「{SHA}」+ Base64でエンコードされたパスワードのSHA-1ダイジェスト。

パスワード生成にhtpasswdを使用する場合

$ htpasswd -nbs myName myPassword
myName:{SHA}VBPuJHI7uixaa6LQGWx4s+5GKNE=


CRYPT

Unixのみで使用可能で、crypt(3)ランダムに生成された32bitソルト(うち、12bitのみ使用)と最初の8文字を使用してパスワードの暗号化を行う。

パスワード生成にhtpasswdを使用する場合

$ htpasswd -nbd myName myPassword
myName:rqXexS6ZhobKA

OpenSSLコマンドラインを使用しパスワードの検証が可能。
CRYPTパスワードのソルトは、バイナリ値に変換された最初の2文字。

$ openssl passwd -crypt -salt rq myPassword
Warning: truncating password to 8 characters
rqXexS6ZhobKA

myPasswordの検証の値は「rqXexS6ZhobKA」


パスワード生成にOpenSSLコマンドラインを使用する場合

$ htpasswd -nbd myName myPassword
myName:rqXexS6ZhobKA


プレーンテキスト

暗号化されずに平文で格納されたパスワード。


参考