.htpasswd生成 ベーシック認証のパスワードファイル作成

ベーシック認証 .htpasswd生成

.htpasswdによる認証。ベーシック認証のパスワードファイルを作成します。
SHA1,bcrypt対応。出力された文字列を.htpasswdファイルに貼り付けて使用します。
複数のユーザー名、パスワードのペアを同時処理。リアルタイム生成。業務に使える。
処理はJavaScriptで完結しています。サーバーにアップロードされませんので機密データも安心。個人利用無料、商用利用無料。

username passwordの入力
(スペースまたはタブ区切りの username password を入力。複数ある場合は改行区切り)

アルゴリズム

動作環境(2022-08-29時点)
・Google Chrome 104
・Microsoft Edge 104
・Mozilla Firefox 104
・Apple Safari 15.6
使い方
スペースまたはタブで区切った username password を入力します。複数ある場合は改行で区切ります。
.htpasswdにそのまま記載可能な文字列が出力されます。
入力例
yamada abc12345
satou      kec759AS#TdcG    ←複数のスペースやタブが可
     suzuki MCV85N%S2dalkguR94    ←前後のスペースやタブは除去されます

出力例(bcrypt)
yamada:$2a$10$RbjwNQZmlzVIwbkWywvCbekG9e1CCHTbmaE2vs0SA6tIeFwWcHjMa
satou:$2a$10$eEdLq0gqo6IPZCu6k23GeuzSXKzE1N/z.s0YuRZm5a8za3kl2m3Jm
suzuki:$2a$10$JVNl0yq9EZ08bzZzUOCx5.tayw/AEoC9pahZYjJlJYoSoUO8VDbVa
Basic認証
手軽にウェブサイトに閲覧権限をつけたいときによく利用するのがBasic認証。
ウェブサイトを公開開始日まで一時的に見れないようにしたい場合、かつ、関係者だけには見れるようにしたい。そんな時などに便利です。
.htaccess に既定の記述をして、.htpasswd にこのサイトで作成する文字列を記述するだけで実現できます。
.htaccessへの記述
.htaccessには以下の様に記述します。

AuthUserFile /path/to/.htpasswd
AuthGroupFile /dev/null
AuthName "admin only"
AuthType Basic
require valid-user

AuthUserFileの部分には、サーバーでのパスを記載します。不明な場合は以下の記述で確認できます。
(ドキュメントルートのパス)
<?= $_SERVER['DOCUMENT_ROOT'] ?>
"admin only" は任意に記述します。日本語も使えますが半角英数が無難です。
Windowsでの作成
Windowsではドットで始まるファイル名を作成できない為、htaccess.txt、 htpasswd.txt などで作成して、ウェブサーバーへアップロード後にリネームします。 .htaccess と .htpasswd はセキュリティ上、不可視にしておくことが望ましいので、以下の記述を.htaccess内に併記することをお勧めします。

<Files ~ "^\.(htpasswd|htaccess)$">
deny from all
</Files>

以下の様になります。

# ハッシュから始まる行はコメントになります。
AuthUserFile /path/to/.htpasswd
AuthGroupFile /dev/null
AuthName "admin only"
AuthType Basic
require valid-user
# この行はコメント
<Files ~ "^\.(htpasswd|htaccess)$">
deny from all
</Files>
#
# これらの行はコメント
#
2013年11月初版
2022年8月改訂
2024年9月改訂
このサイトについてのお問い合わせはエーオーシステムまでお願いいたします。
ご使用上の過失の有無を問わず、本プログラムの運用において発生した損害に対するいかなる請求があったとしても、その責任を負うものではありません。