メインコンテンツにスキップ

htpasswd ジェネレーター

API reference

HTTP Basic 認証用の Apache .htpasswd 行(user:hash)を生成します。Apache の $apr1$ MD5、{SHA} SHA-1、従来型の crypt に対応。ハッシュはブラウザ内で計算され、パスワードが送信されることはありません。

入力

コロンとスペースは使えません — ファイル内ではコロンが 2 つのフィールドを区切ります。

設定

bcrypt(htpasswd -B)は最新かつ最も安全な選択肢で、Apache 2.4 以降で動作します。APR1 は古い Apache や Apache 以外のサーバー向けの互換性の高い代替手段です。SHA-1 と crypt は従来環境専用で、どちらも安全ではありません。

出力

.htpasswd の行

.htpasswd ファイルに貼り付けてください — 1 行に 1 ユーザーです。

ユーザー名を除いたハッシュです。両者を分けて保持する設定形式で使用します。

役に立ちましたか?

このツールを使う他の方法

REST API

curl -X POST https://api.iotools.cloud/v1/tool/htpasswd-generator \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "admin",
    "password": "correct horse battery staple",
    "algorithm": "bcrypt"
  }'

ご自身のアカウントのキーに差し替えてください。ツールのフィールドがそのままリクエストボディになります——ラッパーはありません。

AIエージェントに依頼する

Use the IOTools `htpasswd-generator` tool (htpasswd Generator) on this input:

YOUR_INPUT_HERE

IOTools MCPサーバーに接続された任意のエージェントにこれを貼り付け、入力内容を追加してください。

埋め込みウィジェット

<iframe
  src="https://iotools.cloud/embed/htpasswd-generator/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="htpasswd ジェネレーター — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

ご自身のページに貼り付けるだけ——無料、キー不要、リンクを掲載するだけです。

API/MCP 1回あたりの費用5クレジットから
クレジットが足りませんか?料金を見る

次の方法でも利用可能

ガイド

.htpasswd ファイルとは?

.htpasswd は、HTTP Basic 認証の資格情報を保存するために Apache が使用するプレーンなファイルです。ページが読み込まれる前に表示されるログインボックスのことです。各行には 1 人のユーザーが記録されます。ユーザー名、コロン、そしてそのパスワードの ハッシュ です。

admin:$apr1$dQ2mR8sT$Gk1p6oq9WcE1n0eXqYd0J.

AuthUserFile で Apache にこのファイルを指定すると、Apache は受け取ったパスワードをこれらのハッシュと照合します。パスワード自体は保存されません。

使い方

  1. ユーザー名とパスワードを入力します。
  2. ハッシュアルゴリズムを選択します(特別な理由がなければ APR1)。
  3. htpasswd を生成 をクリックし、その行を .htpasswd ファイルにコピーします。1 行に 1 ユーザーです。

対応する .htaccess は次のようになります。

AuthType Basic
AuthName "Restricted Area"
AuthUserFile /path/to/.htpasswd
Require valid-user

どのアルゴリズムを使うべきですか?

  • bcrypt($2y$)— 最新の標準であり、Apache がサポートする中で最も強力な選択肢です。意図的に遅く、ソルトを使用します。これはパスワードハッシュに求められる性質そのもので、総当たり攻撃や GPU によるクラッキングのコストを高めます。htpasswd -B が生成する形式で、Apache 2.4 以降で動作します。特別な理由がない限り、こちらを選んでください。
  • APR1($apr1$)— Apache 独自の、ソルト付きで 1,000 ラウンドの MD5 です。移植性の高い代替手段で、Apache が動作するすべてのプラットフォームで機能します。古い Apache 2.2 サーバーや一部の非 Apache ソフトウェアも含まれ、htpasswd -m が生成する形式でもあります。bcrypt が使えない場合に使用してください。
  • SHA-1({SHA})— ソルトを使わない、単純な SHA-1 ダイジェストです。ソルトがないため、同じパスワードを持つ 2 人のユーザーは同じハッシュになり、レインボーテーブルで簡単に破られます。他の形式を扱えない古いサーバーのために存在しています。
  • crypt — 従来の Unix DES です。安全ではなく、Unix 専用で、パスワードの 8 文字目以降を黙って無視します。本当に古い環境でのみ使用してください。

bcrypt について特に知っておくべきこと

2 点あります。1 つ目は、bcrypt はパスワードの先頭 72 バイトしか使用しないことです。それより長い部分は無視されます。これはアルゴリズム固有の性質であり、このツールの制限ではありません。また、72 バイトは現実的なパスワードには十分すぎるほどの長さです。2 つ目は、ハッシュには $2y$ という接頭辞が付くことです。これは Apache 自身の htpasswd -B が使用するタグです。$2a$、$2b$、$2y$ のバリアントはすべて同じアルゴリズムを選択するため、bcrypt を受け付ける環境(Apache、Nginx、PHP の password_verify など)であればどこでも検証できます。

パスワードはどこかに送信されますか?

いいえ。 すべてのハッシュは、JavaScript によってブラウザ内で計算されます。パスワードが送信、記録、保存されることはなく、ネットワークが切断されていてもこのツールは動作します。(このツールの以前のバージョンは、ハッシュ化のためにパスワードをサーバーに送信していました。今のバージョンではその必要がありません。)

ハッシュは本当に正しいのですか?

はい。ただし、信用するだけでなく実際に確認する価値があります。すべての bcrypt ハッシュは、Apache 自身の htpasswd -vbB で確認されています。これは独立した実装で、ハッシュが元のパスワードで認証できることを検証します。APR1 の出力は openssl passwd -apr1 および htpasswd -m とバイト単位で一致し、crypt の出力はシステムの crypt(3) と一致します。固定の参照ベクトルとランダムに生成されたパスワード/ソルトの組み合わせの両方で確認されており、単純な実装では黙って結果がずれる非 ASCII パスワードも含まれています。

「生成」をクリックするたびにハッシュが変わるのはなぜですか?

bcrypt、APR1、crypt はソルトを使用するためです。ハッシュごとに新しいランダムなソルトが付加されるので、同じパスワードでも毎回異なる文字列になります。これはまさに望ましい動作です。ファイルを盗んだ攻撃者が、2 人のユーザーが同じパスワードを使っていることに気付けないようになります。生成されたどの行も、同じパスワードで認証できます。

htpasswdapachebasic authpasswordapr1md5htaccess

ツールが気に入りましたか?広告をなくしましょう。

1回のお支払いでアカウントから広告が完全になくなります。サブスクリプションも追跡もありません。