設定
同じ強さを狙うなら、文字種を増やすより長くするほうが効きます。
詳しい設定(文字種・除外・まとめて生成)
引用符・バックスラッシュ・空白は、シェルやCSVで壊れやすいため記号に含めていません。
紙に書き写す・口頭で伝える場面向け。候補が減るぶん、同じ長さなら強度は下がります。
「大文字と数字を含めること」といった要件があるサイト向け。条件を満たさない組み合わせが除かれるため、実際の強度は上の計算値をわずかに下回ります(短いほど差が大きくなります)。
強度 129.5 bits・かなり高め
生成したものは保存も送信もしていません。ページを閉じると消えるので、使うならコピーしてから閉じてください。
結果
生成中…
- 乱数
- crypto.getRandomValues
- 送信
- なし
- 保存
- なし
強度(計算値)
目盛りはエントロピー(bits)です。細い刻みが8 bits、太い縦線が 45 / 60 / 80 の境目です。目盛りの上限(192)を超えると針は右端で止まります。正確な値は上のエントロピー欄に表示されます。
計算式: 20 × log₂(89) ≈ 129.5 bits
前提: 流出したハッシュを手元で毎秒1兆回試せる攻撃者。ハッシュ方式で桁が変わります(bcryptやArgon2ならずっと長く、専用ハードウェアを並べればずっと短く)。あくまで目安の計算値です。
長さと文字種を選んで生成します。乱数はブラウザの暗号用API(crypto.getRandomValues)から取得し、偏りが出ないように処理しています。強度はエントロピー(bits)と、前提つきの解読時間の目安で表示します。生成結果は送信も保存もされません。
よくある質問
生成したパスワードは保存されますか?
保存していません。サーバーにも送信していませんし、ブラウザにも残していません。ページを開き直すと新しいものが生成され、前のものは取り出せません。使う場合は必ずコピーしてから閉じてください。
パスワードマネージャは必要ですか?
このツールは作るところまでで、保管や同期はしません。サイトごとに違うパスワードを使うには置き場所が必要になるので、パスワードマネージャやOS標準のキーチェーンと組み合わせて使うのが現実的です。
同じパスワードを使い回すとなぜ危険なのですか?
どこか1つのサービスから流出すると、そのメールアドレスとパスワードの組み合わせが他のサイトでも自動で試されます(リスト型攻撃)。この試行は総当たりではないため、パスワードの長さでは防げません。サイトごとに違うパスワードを使うことで避けられます。
パスフレーズとパスワード、どちらを選べばいい?
入力する場面で決めるのがおすすめです。パスフレーズは同じ bits でも打ちやすく読み上げやすい代わりに長くなるため、文字数制限のあるサイトでは入らないことがあります。手で打つ機会がなく、マネージャに入れるだけならランダムな文字列で構いません。乱数の作り方はどちらも同じです。