htpasswd ジェネレーター
ユーザー名とパスワードから Apache や nginx の .htpasswd 行と HTTP Basic 認証ヘッダーを、bcrypt・APR1・SHA-1 のハッシュで、すべてブラウザー内で生成します。
htpasswd ジェネレーター — ユーザー名とパスワードを入力すると、Apache や nginx の Basic 認証にそのまま貼り付けられる .htpasswd 行と、クライアントが送信する対応する HTTP Basic 認証ヘッダーの 2 つが同時に得られます。ヘッダーは user:pass の base64 でリアルタイムに更新され、ハッシュ化された .htpasswd 行は「生成」を押したときに計算されます。すべて Web Crypto API とブラウザー内の WebAssembly ハッシャーでローカルに実行されるため、パスワードがサーバーにアップロードされることはありません。
htpasswd ジェネレーターとは?
htpasswd ジェネレーターは、HTTP Basic 認証で使う資格情報を作成する無料のブラウザー内ツールです。システム管理者や Web 開発者は、Apache の htpasswd コマンドラインツールをインストールせずに、ユーザー名とパスワードでディレクトリや管理画面を保護するために使います。.htpasswd ファイルに追記する user:hash の 1 行を生成し、bcrypt(最も強力、$2y$ 形式)、APR1(Apache の移植可能な MD5、$apr1$ 形式)、SHA-1(SHA 形式)から選べます。さらに対応する Authorization: Basic ヘッダーも導出するので、curl や REST クライアントで同じ資格情報をテストできます。bcrypt のコスト係数は設定で調整でき、より強く、または速くハッシュできます。
htpasswd ジェネレーターの使い方
- ログインに使うユーザー名を入力します。
- アカウントを保護するパスワードを入力します。この欄に留まり、どこにも送信されません。
- API リクエストや curl テストにだけ必要なら、Basic 認証ヘッダーをすぐにコピーします。
- 設定を開いてハッシュアルゴリズム(bcrypt・APR1・SHA-1)を選び、bcrypt の場合はコスト係数を指定します。
- 「生成」を押してハッシュ化された .htpasswd 行を計算し、サーバーの .htpasswd ファイルにコピーします。
使用例
1 ユーザー用の bcrypt 行
入力
ユーザー: admin、パスワード: s3cret、アルゴリズム: bcrypt(コスト 10)
出力
admin:$2y$10$...(60 文字の bcrypt ハッシュ、毎回ランダムなソルト)
API テスト用の HTTP Basic ヘッダー
入力
ユーザー: admin、パスワード: s3cret
出力
Basic YWRtaW46czNjcmV0
旧設定向けの APR1(Apache MD5)行
入力
ユーザー: web、パスワード: pass123、アルゴリズム: APR1
出力
web:$apr1$<ソルト>$<22 文字のハッシュ>
よくある質問
- パスワードはサーバーに送信されますか?
- いいえ。Basic ヘッダーも .htpasswd ハッシュも、Web Crypto API とブラウザー内の WebAssembly ハッシャーで完全にブラウザー内で計算されます。何もサーバーにアップロード・保存されないため、ツールはオフラインで動作し、パスワードがページの外に出ることはありません。
- どのハッシュを選べばよいですか?
- 新規構成には bcrypt を使ってください。最も解読に強く、最新の Apache と nginx が対応しています。APR1($apr1$)は Apache の移植可能な MD5 で、旧設定に便利です。SHA-1({SHA})は最も弱いので、システムが明示的に要求しない限り避けるのが無難です。
- 「生成」ボタンに少し時間がかかるのはなぜですか?
- bcrypt と APR1 は総当たり攻撃に強くするため意図的に遅く設計されており、bcrypt は初回使用時に小さな WebAssembly モジュールも読み込みます。コスト係数を上げると bcrypt は遅くなりますが強くなります。SHA-1 と Basic ヘッダーは瞬時です。
- 実際の htpasswd コマンドと一致しますか?
- はい。bcrypt 行は Apache が期待する $2y$ 接頭辞を使い、APR1 はランダムソルト付きの標準 $apr1$ 形式、SHA-1 は {SHA} 方式を使い、すべて htpasswd が生成するファイルと互換です。
- nginx に使えますか?
- はい。nginx の auth_basic_user_file は同じ .htpasswd 形式を読むので、bcrypt や APR1 の行はそのまま使えます。nginx は {SHA} に対応しないため、bcrypt か APR1 を選んでください。
関連ツール
AES テキスト暗号化(AES-GCM + PBKDF2)
パスフレーズから導出した鍵(PBKDF2 SHA-256)で AES-GCM によりテキストを暗号化・復号します。すべてブラウザ内で完結し、アップロードはありません。
Argon2・scrypt ハッシュ
Argon2id または scrypt でパスワードをハッシュ化し、Argon2 ハッシュとパスワードを照合します。すべてブラウザー内で動作します。
Bcrypt ハッシュ生成・検証ツール
平文から選んだコストファクターで bcrypt パスワードハッシュを生成したり、既存の bcrypt ハッシュとパスワードを照合したりを、すべてブラウザー内で行います。
BIP39 ニーモニック生成ツール
12〜24 語のランダムな BIP39 リカバリーフレーズを複数の言語で生成したり、既存のニーモニックを元のエントロピーに戻したりします。すべてブラウザー内で行われます。