ランダム文字列生成|文字数・文字種・件数を指定
入力した各文字を生成候補へ追加します。重複する文字は1つとして扱います。
長さと件数はそれぞれ1~1,000、合計は1,000,000文字までです。
使用する文字、長さ、件数を指定して生成してください。
このツールでできること
英小文字、英大文字、数字、記号、任意に追加した文字を候補にして、指定した長さと件数のランダム文字列を生成します。テストID、入力テスト用の文字列、ダミーデータを1行1件でまとめて作成できます。
使い方
- 使用する文字の種類を選びます。
- 必要に応じて「追加する文字」へ任意の文字を入力します。
- 文字列の長さと生成件数を指定します。
- 「文字列を生成」を押します。
- 必要に応じて「結果をコピー」を押します。
選択した文字種は生成候補へ追加されますが、各文字種が結果に最低1文字ずつ含まれるとは限りません。条件を変更すると、以前の結果は消去されます。
入力例・出力例
英小文字と数字を選び、長さ8、件数5にすると、半角英小文字と数字を候補にした8文字の文字列を5行生成します。文字は候補からランダムに選ばれ、英小文字だけ、または数字だけの行になる場合もあります。
標準の文字種をすべて外し、「追加する文字」へあいうを入力すると、この3文字だけを候補にできます。同じ文字を複数回入力したり、標準の文字種と同じ文字を追加したりしても、候補内では1文字として扱い、選ばれやすさは増えません。
よくある利用場面
- UIテスト用のIDやダミーコードをまとめて作るとき
- 任意文字を含む文字列で入力欄の動作を確認するとき
- 開発中の一時的な識別文字列を指定件数生成するとき
ランダム文字の選び方と利用上の注意
標準の候補は、英小文字26文字、英大文字26文字、数字10文字、ASCII記号32文字です。記号はASCIIの!から~までにある文字のうち、英数字を除いた半角記号で、半角スペースは含みません。「追加する文字」で半角スペースなどを候補へ加えることはできます。
Web Crypto APIのcrypto.getRandomValues()を使い、候補内の各文字を同じ確率で選びます。Web Crypto APIを利用できない場合や取得に失敗した場合は結果を表示せず、Math.random()へ切り替えません。
各位置の文字は候補全体から個別に選ぶため、同じ文字が繰り返される場合があります。複数件を生成したときも、同じ文字列が偶然重複する場合があります。各文字種を最低1文字ずつ含める機能、重複なし、シードを指定した再現、生成履歴の保存には対応していません。
このツールはテスト用・ダミーデータ用です。APIキー、パスワード、暗号鍵に必要な文字構成や強度の判定、発行後の保存・失効・権限管理を行わないため、本番の秘密情報に対する安全性は保証しません。
処理仕様
初期設定は英小文字・英大文字・数字、長さ16、5件です。長さと生成件数はそれぞれ1~1,000の半角数字で指定し、生成文字数の合計は最大1,000,000文字です。全角数字、小数、指数表記、範囲外の値では生成しません。
追加した文字はUnicodeコードポイント単位で扱い、候補全体の重複を入力順に除きます。CRとLFは1行1件の出力を壊すため追加できません。結合文字やZWJを含む絵文字は、見た目の1文字が複数のUnicodeコードポイントとして数えられる場合があります。
結果はLFで区切って1行1件で表示し、末尾には改行を付けません。「クリア」を押すと初期設定へ戻ります。
入力データについて
入力した条件と生成処理はブラウザ内だけで扱います。外部APIや外部ライブラリを使わず、ToolRollのサーバーや外部サービスへ送信しません。Cookie、localStorage、sessionStorage、IndexedDB、ブラウザの履歴にも保存しません。「結果をコピー」を押した場合に限り、生成結果を端末のクリップボードへ書き込みます。