htpasswd ジェネレーター オンライン

ユーザー名とパスワードから bcrypt または SHA-1 の .htpasswd ユーザー行を生成できます。すべてブラウザ内で動作し、認証情報は端末上に留まります。

htpasswd ジェネレーターは、パスワードをブラウザ内でハッシュ化します — bcrypt は遅延読み込みされるモジュールで、SHA-1 は Web Crypto API で行われます。入力したユーザー名とパスワードは端末から外に出ることはなく、ArrayKit にアップロードされることもありません。

Basic 認証ジェネレーターを開く

htpasswd ジェネレーター について

htpasswd ジェネレーターは、ユーザー名とパスワードを、Apache や nginx の HTTP Basic 認証向けの 1 つの .htpasswd 行に変えます。Apache が $2y$ として書く推奨のソルト付きスキームである bcrypt、または古いセットアップ向けのレガシーな {SHA} スキーム(ソルトなしの SHA-1、Base64)を選べます。ツールはコピーやダウンロードして .htpasswd ファイルに追記できる user:hash 行を出力し、その後 AuthType Basic や nginx の auth_basic_user_file でディレクトリを保護できます。ステージングサイト、内部ダッシュボード、リバースプロキシの背後のディレクトリをロックダウンするシステム管理者や開発者に適しています。bcrypt ハッシュは毎回新しいランダムなソルトで実行され、SHA-1 は Web Crypto API を使います — すべてブラウザ内なので、入力したパスワードが端末から外に出ることはありません。

機能

htpasswd ジェネレーター の使い方

  1. ディレクトリを保護したいユーザー名とパスワードを入力する
  2. bcrypt(推奨)またはレガシーな SHA-1 の {SHA} アルゴリズムを選ぶ
  3. 生成された user:hash 行をコピーするか、.htpasswd ファイルをダウンロードする
  4. 行をサーバーの .htpasswd に追記し、認証設定から参照する

入力

username: admin
password: password
algorithm: SHA-1

出力

admin:{SHA}W6ph5Mm5Pz8GgiULbPgzG37mj9g=

SHA-1 は {SHA} + Base64 を生みます。bcrypt なら代わりに admin:$2y$... を出力します。

よくあるエラーとトラブルシューティング

よくある質問

.htpasswd ファイルにはどのアルゴリズムを使うべきですか?
ネットワーク越しに到達できるものには bcrypt を使ってください — ソルト付きで意図的に遅いので、ブルートフォースに耐えます。{SHA} の SHA-1 スキームはソルトなしで、bcrypt を実行できないレガシーサーバーに対してのみ使う価値があります。
なぜ bcrypt ハッシュは $2a$ ではなく $2y$ で始まるのですか?
$2y$ は Apache の htpasswd ツールが書くプレフィックスです。bcrypt ライブラリはしばしば $2a$ や $2b$ を出力しますが、アルゴリズムは同一なので、このジェネレーターは Apache がディスクに生むものに合わせてプレフィックスを $2y$ に正規化します。
生成された行を .htpasswd ファイルに追加するには?
user:hash 行をコピーするか .htpasswd ファイルをダウンロードし、行を独自の行として追記してください。その後、AuthUserFile(Apache)や auth_basic_user_file(nginx)をそのファイルに向け、サーバーをリロードしてください。
同じパスワードは毎回同じ htpasswd 行を生みますか?
bcrypt では、いいえ — 実行ごとに新しいランダムなソルトが使われるので、同じパスワードでも検証は通る異なるハッシュになります。{SHA} スキームではハッシュはソルトなしなので、同じパスワードは常に同じ行を生みます。
入力したパスワードは、ハッシュ化のためにサーバーに送られますか?
いいえ。bcrypt はブラウザ内で実行され、SHA-1 は組み込みの Web Crypto API を使うので、入力したユーザー名とパスワードは端末上でハッシュ化され、ArrayKit にアップロードされることはありません。

関連ツール

すべての ArrayKit ツール