パスワード統計
パスワードの文字数、UTF-8バイト数、大文字、小文字、数字、記号、ユニークな文字数、連続数を数え、シャノンエントロピーとプールのエントロピーも表示します。
上にパスワードを入力すると分析します。どこにも送信されません。
すべてブラウザ内で実行されます。データがアップロードされることはありません。
パスワード統計ツールとは?
パスワードを数値に分解します。Unicode文字数、UTF-8バイト数、UTF-16コードユニット数、文字種ごとの数、ユニークな文字数、最頻出の文字、最長の連続、シャノンエントロピーとプールのエントロピー、hashcatマスク、16進バイトです。
パスワード統計ツールの使い方
- パスワード欄にパスワードを入力または貼り付けます。
- 統計のグリッドを確認します。値は入力に合わせて更新されます。
- システムがバイト数でパスワードを制限している場合は、UTF-8 バイト数を確認します。
- 正確なバイト列が必要なら、16進数の値をコピーします。
例
Tr0ub4dor&3
Length 11, UTF-8 bytes 11, unique 10, uppercase 1, lowercase 6, digits 3, symbols 1, most frequent "r" × 2, pool entropy 72.1 bits
パスワード統計ツールを使うべき場面
バイト数の上限の確認(bcryptは最初の72バイトしか使いません)や、システムがパスワードを拒否する理由のデバッグなど、正確な数が必要なときに使います。強度の判定には強度チェッカーを使ってください。
パスワード統計ツールの仕組み
パスワードはUnicodeコードポイント単位で走査されます。各文字は、大文字A–Z、小文字a–z、数字、ASCII記号、スペース、その他のUnicodeに分類されます。バイト数は TextEncoder(UTF-8)で数えます。シャノンエントロピーは文字の出現頻度についての −Σ p·log2(p)、プールのエントロピーは 長さ × log2(文字種ごとのサイズの合計) です。
一般的な使用例
- パスフレーズのbcryptの72バイト上限に対する確認
- 文字の数え方が異なるパスワードルールのデバッグ
- 「数字を2つ以上」などのポリシー要件の検証
- 絵文字やアクセント付き文字を含むパスワードの調査
よくある質問
文字数とUTF-8バイト数が違うのはなぜですか?
ASCII以外の文字はUTF-8で2〜4バイトを使います。たとえばéは2バイト、ほとんどの絵文字は4バイトです。
何が記号として数えられますか?
印刷可能なASCIIの句読点32文字です。それ以外のASCII外の文字は「その他のUnicode」として数えられます。
UTF-16の数は何のためにありますか?
JavaScriptやJavaは文字列の長さをUTF-16コードユニットで測るため、maxlength属性や一部のAPIがこの数を使います。