piapia123
ja

ランダム文字列ジェネレーター

テキスト

処理はすべてブラウザ内で完結します。データは送信されません

出力

文字セットと個数を選ぶと、ランダムな文字列とエントロピー推定(文字数 × log2(文字セットの大きさ))を表示します。各文字は棄却サンプリングで取り出します。1 バイトは 256 通りで、256 は 26 で割り切れないため、単純な剰余では A〜F が多く出てしまいます。棄却サンプリングは不均等な範囲を捨てて取り直すので、どの文字も同じ確率です。 N 文字ごとに区切り文字を入れれば、書き写しや招待コードに便利です。同じ文字列を再現したいときはシードを入れてください。ただしそれは擬似乱数で、デモやテスト向けです(パスワードには使わないでください)。シードを空欄にするとブラウザーの暗号学的乱数を使います。 計算はすべてブラウザ内で完結し、通信もアップロードもありません。

機能

  • 7 種類の文字セット:大文字・小文字・大小・英数字・16 進数・紛らわしい文字の除外・カスタム
  • 一度に 1〜1000 文字を生成
  • N 文字ごとに区切り文字(スペース/ハイフン)を挿入可能
  • 棄却サンプリングでどの文字も均等。先頭に偏らない
  • エントロピー推定で強度が分かる
  • シードで同じ文字列を完全に再現(暗号学的乱数ではない旨を表示)
  • シードが空欄ならブラウザーの暗号学的乱数を使用

使い方

  1. 文字セットを選びます(カスタムの場合は文字を入力)
  2. 個数を設定し、必要ならグループ長と区切り文字を指定します
  3. 再現したい場合はシードを入力。空欄なら真の乱数です
  4. 文字列とエントロピー推定がすぐに表示されます

よくある質問

なぜ剰余より棄却サンプリングが良いのですか?
1 バイトは 256 通りで、256 は 26 で割り切れません。剰余だと最初の 6 文字が約 2 倍出やすくなります。棄却サンプリングは不均等な範囲を捨てて取り直すため、どの文字も同じ確率になります。
シードを入れるとパスワードになりますか?
逆です。シードは再現を可能にしますが、32 ビットの擬似乱数なので、シードを知る人は文字列を再計算できます。デモやテスト向けで、パスワードにはシードを空欄にしてください。
エントロピー推定とは?
「文字数 × log2(文字セットの大きさ)」のビット数で、総当たりの難しさを表します。文字セットが大きく、文字数が多いほど高くなります。
データは送信されますか?
いいえ。すべてブラウザのメモリ内で計算し、通信も記録もありません。オフラインでも使えます。

関連ツール