htpasswd ジェネレーター
Apache htpasswdパスワードハッシュをオンラインで生成。bcrypt・MD5(APR1)・SHA1・平文に対応。ハッシュ計算はすべてブラウザ内で完結し、パスワードは送信されません。
使い方
- ユーザー名とパスワードを入力、または生成ボタンでランダムパスワードを作成します。
- アルゴリズムを選択します(bcrypt推奨)。
- bcryptを使う場合、コストファクターを調整します(高いほど安全だが遅い)。
- htpasswdラインを生成をクリックします。
- 結果をコピーして
.htpasswdファイルに追加します。
アルゴリズム比較
| アルゴリズム | フォーマット | セキュリティ | 説明 |
|---|---|---|---|
| bcrypt | $2y$ | 優秀 | すべての新規環境で推奨 |
| MD5 (APR1) | $apr1$ | 中程度 | ソルト付きApache専用MD5 |
| SHA1 | {SHA} | 弱い | ソルトなし・レインボーテーブルに脆弱 |
| 平文 | (なし) | なし | テスト専用・本番環境では使用禁止 |
Apache設定例
# .htaccess
AuthType Basic
AuthName "制限エリア"
AuthUserFile /path/to/.htpasswd
Require valid-user
バッチモード
バッチモードセクションに複数の user:password ペアを1行ずつ入力し、バッチ生成をクリックすると完全な .htpasswd ファイルを一度に生成できます。
セキュリティの注意点
.htpasswdファイルは必ずドキュメントルート外に保存し、直接アクセスできないようにしてください。- 本番サーバーにはコストファクター10以上のbcryptを推奨します。
- パスワードが漏洩した場合は速やかにハッシュを再生成してください。bcryptハッシュを逆算することはできません。
FAQ
htpasswdファイルとは何ですか?
htpasswdファイルは、Apache HTTP Server(とnginxのモジュール)がHTTP基本認証のユーザー名とハッシュ済みパスワードのペアを保存するために使用します。各行のフォーマットはusername:hashed_passwordです。
どのアルゴリズムを使うべきですか?
bcrypt(デフォルト)を推奨します。コストファクターが設定可能で、ブルートフォース攻撃を大幅に遅らせる最も安全なオプションです。MD5(APR1)は広く使われていますが弱いです。SHA1と平文は安全でなく、新規環境では避けてください。
bcryptのコストファクターとは何ですか?
コストファクター(4〜12)は計算ラウンド数を制御します。値が高いほど計算に時間がかかり、ブルートフォース攻撃のコストが増します。デフォルトの10はセキュリティとサーバー性能のバランスが取れた値です。
パスワードはサーバーに送信されますか?
いいえ。bcryptを含むすべてのハッシュ計算は、ブラウザのJavaScriptで完結します。パスワードはこのページ外に送信されません。
バッチモードとは何ですか?
バッチモードでは、複数のuser:passwordペアのhtpasswdラインを一度に生成できます。コロン区切りで1行に1ペアを入力し「バッチ生成」をクリックします。
生成したhtpasswdラインはどう使いますか?
生成されたラインをコピーして.htpasswdファイルに追記するか、ファイルの内容として使用します。ApacheではAuthUserFileでファイルを指定し、AuthType Basicを設定します。