パスワード生成
ブラウザの暗号化APIで強力なランダムパスワードを生成します。長さ・文字種・似た文字の除外・各文字種を最低1文字保証する設定に対応し、エントロピー(ビット)も表示します。
Math.randomではなくブラウザの暗号化APIを使ってランダムなパスワードを生成するため、実際のアカウントに使える品質になります。長さ、含める文字種、l・1・I・Oのような紛らわしい文字を除外するかどうか、選択した各文字種を最低1文字保証するかどうかを選べます。
ビット単位で示されるエントロピーの値は、そのパスワードがどれだけ推測に耐えられるかを表します。60ビット未満は本気の攻撃者に対して弱く、80ビットあれば通常のアカウントには十分で、マスターパスワードやAPIキーには100ビット以上が目安です。端末内で生成するためパスワードがネットワークを通ることはなく、まさにそこが要点です。
強力なパスワードを生成する方法
長さと文字種を選びます
紛らわしい文字の除外と最低文字数の保証を設定します
パスワードをコピーしてエントロピーを確認します
よくある質問
パスワードはどのくらいの長さにすべきですか?
重要な用途には、複数の文字種を混ぜた16文字が適切な初期設定です。長さは珍しい文字よりも強度に効くので、選べるなら記号入りの12文字より20文字を選んでください。
エントロピーの値は何を意味しますか?
生成されたパスワードが持つランダム性をビット数で表したもので、長さと文字プールの大きさから計算されます。1ビット増えるごとに推測にかかる手間が2倍になります。
紛らわしい文字を除外するのはなぜですか?
l、1、I、O、0のような文字は、画面に表示されたパスワードを読んでスマートフォンや機器に入力するときに混同しやすいものです。除外しておくと手入力のミスが大幅に減ります。
これを使っても安全ですか?
値はブラウザの暗号学的乱数源であるcrypto.getRandomValuesから取得しており、パスワードにはこれが適切な選択です。生成は端末内で行われ、何も送信されません。
1つのパスワードを使い回してもよいですか?
いいえ。サービスごとに固有のパスワードを使い、パスワードマネージャーで管理してください。1つを使い回すと、1件の漏えいでそれを共有するすべてのアカウントが危険にさらされます。
生成したパスワードはどこかに保存されますか?
いいえ。保存も記録も送信もされません。コピーしないままページを閉じると、パスワードは失われます。
概要
| 入力 | テキスト |
|---|---|
| 複数ファイル | いいえ |
| 実行場所 | ブラウザ内で実行 - ファイルはアップロードされません |
| オフラインでも動作 | はい — ページを読み込んだ後 |
| 料金 | 無料・登録不要・透かしなし |
機密情報を安全に扱う
開発者向けツールは、人が思っている以上に頻繁に認証情報を扱います。危険なのはアルゴリズムではなく、データがどこへ行くかです。ハッシュ化は一方向であり、暗号化ではありません。MD5とSHA-1はセキュリティに関わる用途ではすでに破綻しており、パスワードの保存にはSHA-256さえ適切な道具ではありません。bcrypt、scrypt、Argon2は、まさに遅くなるために存在しています。Base64はエンコードであって保護ではありません。誰でもデコードできるので、難読化として扱ってはいけません。JWTは持っている人なら誰でも中身を読めるため、ペイロードに秘密情報を入れてはいけません。また、トークンをデコードしても署名は検証されません。検証には鍵が必要です。このサイトのすべてはブラウザ内でローカルに動作するため、トークンやパスワードを安全に扱えるのです。
変換が静かに壊れるところ
変換のバグの多くは構文ではなく意味の問題です。郵便番号のCSV列は、表計算ソフトが数値だと推測した瞬間に先頭のゼロを失います。長いIDは浮動小数点の精度を超えてしまいます。日付は、日が先か月が先かによって意味が変わります。JSONのキーには順序がありませんが、配列にはあります。キーを並べ替えるツールは何も変えませんが、配列を並べ替えるツールはデータを変えてしまいます。Unicodeも落とし穴です。テキストはUTF-8やUTF-16、あるいはBOM付きで届くことがあり、推測を誤ったデコーダーはアクセント付きの文字を文字化けに変えてしまいます。変換を信用する前に、最初と最後の行、先頭にゼロがあるフィールド、引用符・カンマ・改行を含むフィールドを抜き取り検査してください。