CUID2 生成器
ガイド
CUID2 生成器
ブラウザ内で暗号的に安全なCUID2 IDを生成します。CUID2は、高エントロピーのランダムサルト、単調カウンター、タイムスタンプ、ブラウザフィンガープリントを組み合わせ、結果をSHA3-512でハッシュしてベース36の文字列に変換する現代的な衝突耐性ID形式です。すべてのIDは文字で始まり、データベース、URL、識別子カラムなどに安全に使用できます。
使用方法
- 8から32文字の間のID長を選択してください。24のデフォルトはほとんどのアプリに適しています。
- 一度に生成するIDの数を選択してください(最大100個)。
- CUID v1の比較をオプションで有効にし、従来のフォーマットと並列に表示します。
- クリック 生成 IDを生成し、結果をコピーまたはダウンロードしてください。
- 構造分解を確認して、タイムスタンプ、カウンター、サルト、フィンガープリントの各要素が最終的なIDにどのように寄与しているかを確認してください。
機能
- 設定可能な長さ 8から32文字、衝突空間の推定値がリアルタイムで更新されます。
- 大量生成 1クリックあたり最大100個のIDを生成し、データベースのシーディングやテストに使用できます。
- データベース安全な最初の文字 すべてのIDがa–zで始まっているため、識別子カラムやCSSセレクタで使用できます。
- SHA3-512ハッシュ 公式CUID2仕様のエントロピー混合ステップに一致しています。
- フィンガープリントの暴露 各生成されたIDに寄与するブラウザフィンガープリントを表示します。
- 構造分解 タイムスタンプ、カウンター、サルト、フィンガープリントの各要素がサンプルIDを作成する過程を確認できます。
- CUID v1比較 対応するCUID v1 IDを並列に生成し、フォーマットの違いを理解できます。
- 暗号的なランダム性 – 使用
crypto.getRandomValues()予測可能なPRNGではなく。 - 100%クライアントサイド – サーバーに送信されず、IDはブラウザに留まります。
よくある質問
-
CUID2はUUID v4とは何が異なるか?
UUID v4は純粋なランダム性122ビットを使用し、悪質なPRNGや重複した環境に対する構造的保護がありません。CUID2は、タイムスタンプ、単調カウンター、ホストフィンガープリント、暗号ランダムサルトを混合し、SHA3-512でハッシュして、結果を生成します。この結果はホストに依存せず、偽造が困難で、小文字と数字のみを使用するため、CUID2 IDはURL安全、データベース安全、かつ単一マシンでの弱いランダム性に耐性があります。
-
なぜCUID2 IDは常に文字で始まるのか?
多くのシステムは識別子が数字で始まると数値として扱います(CSSセレクタ、GraphQLフィールド名、JavaScript変数名、一部のデータベース識別子カラムなど)。a–zで最初の文字を強制することで、CUID2 IDはほぼすべての環境で識別子として使用でき、エスケープやクォートを必要としません。残りの文字はベース36のSHA3ハッシュから来ており、文字または数字のいずれかになります。
-
CUID2 IDは作成時順に並べ替え可能ですか?
いいえ。CUID v1はタイムスタンプがIDの前部に明示的に表示されていたため、弱く並べ替え可能でした。CUID2はタイムスタンプをサルトとフィンガープリントと共にハッシュし、結果の文字が作成順序を示さないため、並べ替えはできません。タイム順のIDが必要な場合は、ULID、KSUID、Snowflakeなどのフォーマットを使用してください。外部に安全に公開できる、予測不可能なオパケIDが必要な場合は、CUID2は非常に適しています。
-
CUID2の衝突確率はどれくらいですか?
24文字のデフォルト長ではID空間は約26 × 36²³であり、現実的な生成率を大きく上回ります。バースデイパラドックスによる50%衝突閾値は、数兆個以上のIDを上回ります。長さを32に増加させると、現実的なスケールにおいて衝突がほぼ不可能になります。短い長さ(8~10)は、共有コードや短いURLなどの低量用途に適しています。
-
フィンガープリントの役割は何か?
フィンガープリントは、ユーザーエージェント、画面サイズ、タイムゾーン、ロケールなどの環境データから導かれたハッシュで、新しいランダムサルトと混合されます。これにより、同じミリ秒で異なるマシンがIDを生成しても、異なるハッシュ入力が得られます。フィンガープリントは個人を特定するものではなく、SHA3ハッシュに供給される複数のエントロピーの一つであり、保存または送信されません。
恵 スコアボードが到着しました!
スコアボード ゲームを追跡する楽しい方法です。すべてのデータはブラウザに保存されます。さらに多くの機能がまもなく登場します!
