パスワード生成(端末内で作るので送信されません)
安全なパスワードをその場で作ります。暗号用の乱数を使い、生成はブラウザの中だけで完結するため、作ったパスワードがネットワークに出ることはありません。強度も情報量で表示します。
作ったパスワードが送信されません
パスワード生成サイトの中には、サーバー側で文字列を作って返しているものがあります。その場合、生成されたパスワードは相手のサーバーを通っています。悪意がなくても、通信記録やログに残る可能性は残ります。
このツールはブラウザに組み込まれた暗号用の乱数生成器を使い、計算をすべて端末の中で行います。作ったパスワードがネットワークに出ることはありません。ページを開いたあとは、通信を切っても動きます。
「長さ」が「複雑さ」より効く
パスワードの強さは、文字の種類数と長さから計算できます。使える文字が62種類なら1文字あたり約5.95ビット、12文字で約71ビット、16文字で約95ビットです。
ここで重要なのは、記号を足すより長くするほうが効率がよいことです。62種類を95種類に増やしても1文字あたり0.6ビットしか増えませんが、1文字長くすれば約6ビット増えます。覚えられない記号を無理に混ぜるより、2文字長くするほうが強くなります。
目安として、重要なサービスでは16文字以上を推奨します。このツールの初期値もそこに合わせています。
紛らわしい文字を初期状態で外している理由
数字の0と大文字のO、数字の1と小文字のlと大文字のIは、書体によってはほとんど区別できません。画面から書き写すときや、電話で伝えるとき、印刷して保管するときに読み違いが起きます。
そこで初期状態ではこれらを除いています。除いたぶん文字の種類は減りますが、失われる強度は1文字あたり0.1ビット程度です。長さを1文字足せば十分に取り返せます。パスワード管理ソフトに保存して手で打たないなら、チェックを入れて元に戻しても構いません。
偏りのない乱数の話
乱数から文字を選ぶとき、単純に「乱数 ÷ 文字数の余り」を使うと、実は先頭のほうの文字がわずかに出やすくなります。乱数の範囲が文字数で割り切れないためで、modulo bias と呼ばれる問題です。
このツールは、割り切れない部分に当たった乱数を捨てて引き直しています。実用上の差はごくわずかですが、パスワードの生成で偏りを残す理由はありません。
また、乱数には Math.random() ではなく暗号用の乱数生成器を使っています。前者は速度優先の実装で、出力から次の値を推測できる可能性があり、この用途には向きません。
よくある質問
- 同じパスワードが二度出ることはありますか?
- 理論上はゼロではありませんが、16文字なら組み合わせは天文学的な数になるため、現実には起きません。
- パスワードはどこに保存すればよいですか?
- ブラウザやOSのパスワード管理機能、またはパスワード管理ソフトへの保存を推奨します。紙に書く場合は、サービス名と切り離して保管してください。
- 定期的に変更したほうがよいですか?
- 現在の一般的な指針では、漏洩の兆候がないかぎり定期変更は推奨されていません。頻繁な変更は単純なパスワードを招きやすいためです。それより、サービスごとに違うパスワードを使うことのほうが重要です。
関連する道具
- 全角・半角変換ツール(英数字・カタカナ・スペースを一括変換)英数字・記号・スペース・カタカナを、全角と半角でまとめて変換します。変換する文字の種類を選べるので、金額記号や丸数字まで…
- 単位変換ツール(坪・畳・尺などの日本の単位も)長さ・重さ・面積・体積・速さ・データ量・温度を相互に変換します。坪や畳、尺、合といった日本の単位にも対応。坪は概算ではな…
- 文字数カウント(SNSの上限つき)入力した文章の文字数を数え、Xの140字やYouTube概要欄の5000字といった投稿先ごとの上限に対して、あと何文字書…
- 文字色と背景色のコントラスト比チェッカー文字色と背景色を入れると、WCAGのコントラスト比を計算して読みやすさを判定します。小さい文字で読めるか、大きい見出しな…