パスワード生成
16 文字のパスワードを用意しました。長さを設定し、文字種を選び、エントロピーをビットで確認できます。
生成したパスワード
- 長さ
- エントロピー
- 強度
使い方
- ページを開くと 16 文字のパスワードがすでに生成されています。そのまま使うか、「長さ」を 4〜64 文字の間で動かすと即座に作り直されます。
- 必要な文字種にチェックを入れます。選択した文字種はそれぞれ最低 1 回は含まれます。多くのパスワードポリシーが求める条件です。
- パスワードを声に出して読んだり手で書き写したりする場合は「紛らわしい文字を除外」をオンにします。O/0、l/1/I などの組み合わせを外す代わりに、プールが小さくなります(80 → 74 文字)。
- 「コピー」を押して必要な場所に貼り付け、すぐにパスワードマネージャーへ保存してください。ページを再読み込みすると新しいパスワードになり、何も保持されません。
例
設定
長さ 16 · 小文字+大文字+数字+記号 · 紛らわしい文字を保持
結果の一例
rT4$mQp2!vL9x#Za
値はランダムなので、まったく同じものは得られません。長さ(16)、4 種類すべてが含まれること、エントロピーが 100 ビット(非常に強い)と表示されることを確認してください。ここで生成されるパスワードはすべて端末上で作られ、端末の外に出ることはありません。
ルール・制限・既知の問題
- 長さは 4〜64 文字です。選択した文字種はそれぞれ最低 1 回含まれるため、実用的な最短の長さはチェックした文字種の数と同じになります。
- プールは a–z(26)、A–Z(26)、0–9(10)、18 個の ASCII 記号(! # $ % & * + - . / : ; = ? @ ^ _ ~)です。引用符、括弧、山括弧、バックスラッシュ、パイプなどは意図的に除外しているため、シェル、YAML、JSON に貼り付けてもエスケープがほとんど不要です。独自の記号セットには対応していません。
- エントロピーは「長さ × log2(プール)」ではなく、有効な組み合わせの正確な数から求めます。「各文字種を最低 1 つ」の規則により組み合わせの約 14% が除外され、4 種類すべてを含む 16 文字は 100.937 ビットになります(単純な式では 101.151 ビット)。バッジはその値を切り捨てて表示します。
- 強度の区分は 60 / 80 / 100 ビットで、隠さず公開しています。60 未満は弱い、60〜79 は普通、80〜99 は強い、100 以上は非常に強いです。
- 「解読にかかる推定時間」は意図的に表示しません。その数値は攻撃者のハードウェアに関する仮定に依存し、どこで見ても測定値のふりをした推測にすぎないためです。
- 乱数はブラウザーの crypto.getRandomValues から取得し、Math.random() は使いません。安全な乱数源がないブラウザーでは、弱いパスワードではなくエラーを表示します。
- パスワードは常に ASCII です。非 ASCII 文字は強く見えるかもしれませんが、多くのサイトが拒否したり黙って文字化けさせたりします。保存すらできないものに強度メーターを出すのは不誠実だからです。
- 非対応:パスフレーズ(単語ベースのパスワード)、PIN、「覚えやすい」パスワード、一括生成、独自記号セット、特定文字の除外、保存やダウンロード。パスフレーズには単語リストが必要で、単語リストは言語固有です。アラビア語や日本語について正直に表示できるものがないためです。
- ダウンロードボタンはありません。パスワードを読める .txt ファイルに書き出すのは悪い習慣です。パスワードマネージャーにコピーしてください。
- オプションを変更するとパスワード全体が作り直されます。最初の 16 文字を残して数文字を追加する、といったことはしません。パスワードに「追記」の意味はありません。
- 再読み込みのたびに新しいパスワードが生成されます。履歴、保存リスト、値を含むリンクはありません。
- アップロード、保存、URL への書き込みは一切行いません。アカウント、同期、API もありません。
関連ツール
パスワードを保存した後によく使われるツールです。