ランダム文字列生成 – 英数字 | dice83 

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

英数字。暗号品質。トークン、ID、テストデータにすぐコピーできます。

クリックでコピー
スペースキーで新規生成
0ビット
0
A-Z
0
a-z
0
0-9
衝突耐性(誕生日限界)

英数字のランダム性

ランダムな英数字文字列は、62種類の候補(大文字26文字、小文字26文字、数字10文字)から各文字を独立に選びます。各位置はlog2(62) ≈ 5.95ビットのエントロピーを持ちます。32文字の文字列は約190ビットのランダム性を含み、あらゆる総当たり攻撃の届かない領域にあります。参考までに、機密情報を保護する対称暗号鍵の現在の標準は128ビットです。

パスワードとの違いは重要です。パスワードは認証システムが課す複雑性要件を満たすために特殊文字が必要です。ランダム文字列は別の目的を果たします:特殊文字なしで一意性を確保することです。英数字のみの文字列は、URL、ファイル名、データベース識別子、APIトークン、クエリパラメータ、環境変数でそのまま使えます。エスケープ不要。エンコード不要。アンパサンドがパーサーを壊すようなエッジケースもありません。

誕生日のパラドックス

ランダム文字列にとって最も重要なセキュリティ特性は衝突耐性です:何本の文字列を生成すれば2つが一致する可能性が出てくるでしょうか?答えは誕生日のパラドックスから得られます。これは確率論の結果で、わずか23人のグループで2人が同じ誕生日を持つ確率が50%になるという驚くべき事実にちなんで名付けられました。ランダム文字列の場合、50%の衝突閾値は全可能性空間の平方根付近で発生します。

32文字の英数字文字列は6232 ≈ 2190通りの値を持ちます。誕生日限界は295 ≈ 4 × 1028文字列です。1回の重複が50%の確率で起こるまでに、400億×10億×10億本の文字列を生成する必要があります。毎秒100万本のペースでも、1015年以上かかります。実用上のあらゆるアプリケーションにおいて、システムの寿命内に衝突が起こることは数学的に不可能です。

ランダム文字列 vs UUID

UUIDバージョン4(/uuid)は、標準化された8-4-4-4-12の16進数フォーマットで122ビットのランダム性を生成します。このジェネレーターの22文字の英数字文字列は、より短くコンパクトな表現で約131ビットのランダム性を提供します。どちらも同じ基本的な目的を果たします:システム間の調整なしに一意な識別子を生成することです。

トレードオフは明確です。UUIDは広く認知され、標準ライブラリで検証でき、一部のデータベースシステム(UUIDv7)では時系列ソートが可能です。ランダム英数字文字列はより短く、密度が高く、ハイフンがありません。UUIDはハイフンを含めて36文字を占めます。同等のエントロピーを持つランダム文字列はわずか22文字で済みます。UUIDを期待するシステムと連携する場合はUUIDを選択してください。両端を自分で制御し、最大の情報密度が必要な場合はランダム文字列を選択してください。

ユースケース

ランダムな英数字文字列はソフトウェア開発のあらゆる場面で登場します。APIトークンはパスワードなしでサービスを認証します。セッション識別子はブラウザ接続を追跡します。ノンス値はOAuthフローでリプレイ攻撃を防ぎます。一時ファイル名は並列処理での競合を回避します。テストデータはデータベースにリアルな識別子を投入します。URL短縮スラッグは長いアドレスを共有可能なリンクに圧縮します。それぞれのユースケースは同じ特性から恩恵を受けます:特殊文字なしの暗号学的な予測不可能性です。

教室での活用

ランダム文字列の生成は、即座に応用できる組み合わせ論を教えます。異なる長さの文字列の総数を計算させましょう:628 ≈ 2 × 1014 対 6216 ≈ 5 × 1028。長さを2倍にすると可能性空間は2乗になります。次に誕生日のパラドックスを導入しましょう:/generate/8にアクセスして、短い文字列でどの規模から衝突が起こりやすくなるかを議論し、/generate/32では衝突が事実上不可能であることと比較しましょう。衝突パネルは誕生日限界をリアルタイムで表示し、抽象的な組み合わせ論を具体的にします。

アーキテクチャによるプライバシー保護

このページで生成されるすべての文字列は、あなたのブラウザ内にのみ存在します。サーバーはツールを配信するだけです。あなたのデバイスがcrypto.getRandomValues()(オンラインバンキングを保護するものと同じWeb Cryptography API)を使用して出力を生成します。文字列はコピーするまでブラウザのメモリに存在します。タブを閉じれば消滅します。サーバーはこのページがこれまでに生成した文字列について一切知りません。

URLでカスタマイズ

アドレスバーに任意の長さを直接入力できます:

文字列の長さを選択

プリセットを選ぶか、任意の値を入力してください。URLが更新され、ジェネレーターが再読み込みされます。

文字列を共有

ツールを送るか、友達にあなたのランダム文字列と比較するよう挑戦しましょう。

毎日のデザインエクセレンス。

A' Design Awardの審査員が選んだ作品を毎朝お届けします。