IDとパスワードを入力することで、.htpasswdに記載するIDとハッシュ化したパスワードを作成します。
.htpasswdのファイルとは?
BASIC認証というHTTPユーザー認証を用いて、ファイル・フォルダ・またはWebサイト全体を保護する際に使用され、.htaccessファイル内に記述したルールをもとに実装されます。
ユーザー情報は1ユーザー1行に記述され、各行にはコロン(:)で区切られたユーザ名とパスワードが含まれています。ユーザー名はプレーンテキストで保存されていますが、パスワードはハッシュ化された形式で保存されます。
パスワードファイルに任意の名前を付けることは可能ですが、Apacheではデフォルトで.htpasswdの使用が設定されていて、ドットファイル(「.」から始まるファイル)は通常隠しファイルとなることから、ファイル名は「.htpasswd」とする事をおすすめします。
ハッシュアルゴリズム
- md5 (APR) $apr1$ 接頭辞
128bitの値を生成するハッシュ関数。
バージョン2.2.18以降ではデフォルトとなっていますが、近年では十分安全とは言えなくなっています。
互換性:Apache 全バージョン、Nginx 1.0.3以上 - crypt() 、またはcrypt(3) 接頭辞なし
Apacheのバージョン2.2.17まではデフォルトのアルゴリズムでしたが、パスワードの長さが8文字までと制限されることから現在では安全でないと考えられています。
互換性:Apache,Nginx 全バージョン - SHA-1 {SHA} 接頭辞
160bitの値を生成するハッシュ関数。
多くのアプリケーションやプロトコルに採用されていましたが、近年の基準では安全とは言えません。
互換性:Apache 全バージョン、Nginx 1.3.13以上 - bcrypt $2y$ または $2a$ 接頭辞
blowfish暗号アルゴリズムを用いた、近年比較的安全であると考えられているハッシュ関数。
計算に多くの時間を要しますが、これが安全である理由のひとつです。
パラメータは計算時間を設定します。(数字が大きいほど複雑で安全ですが、より生成が遅いです)
※10以上の値を設定すると非常に重くなりますのでお気をつけください
互換性:Apache 2.4以降(apr-util 1.5以上が必要)