UUID生成・検証
UUID v4 と v7 をまとめて生成します。貼り付けた UUID のバージョン(v1〜v8)とバリアントを判定し、v1・v6・v7 は埋め込まれた日時も表示します。乱数には Web Crypto API を使います。
ページを開いた時点で1件生成しています。
UUID を検証・判定する
ハイフンなし・波括弧付き・urn:uuid: 付きでも読めます。
UUID を入れると、形式・バージョン・バリアントを判定します。
- 整えた形 —
- バージョン —
- バリアント —
- 埋め込まれた日時(UTC) —
- 日時(日本時間) —
- クロックシーケンス / ノード —
補足
- 乱数は Web Crypto API(
crypto.randomUUID()またはcrypto.getRandomValues())から取得します。 - v7 は先頭48ビットが Unix 時刻(ミリ秒)の UUID です(RFC 9562)。文字列のまま並べ替えると作った順になるため、 データベースの主キーに向きます。同じミリ秒の中で作った分も、乱数部を1ずつ増やして順番を保っています。
- 判定では v1〜v8 と NIL(すべて0)・MAX(すべてf)を見分けます。v1 / v6 / v7 は埋め込まれた日時も表示します。 v1 / v6 のノードは MAC アドレスの場合と、乱数の場合があります。
- 生成した値はどこにも保存されません。ページを再読み込みすると消えます。
- ブラウザが重くならないよう、一度に生成できるのは 1000 件までです。
よくある質問
生成されるのはどのバージョンのUUIDですか?
既定は UUID version 4(乱数ベース)で、version 7(Unix 時刻+乱数、RFC 9562)も選べます。どちらもバージョンとバリアントのビットは仕様どおりに設定されます。v7 は文字列のまま並べ替えると作った順になり、同じミリ秒の中で作った分も乱数部を 1 ずつ増やして順番を保ちます。
乱数の品質は十分ですか?
十分です。Web Crypto API(crypto.randomUUID() または crypto.getRandomValues())から暗号学的に安全な乱数を取得しています。Math.random() は使っていません。
一度に何件まで生成できますか? 生成した値は保存されますか?
一度に1,000件まで生成できます。生成した値はどこにも保存されず、ページを再読み込みすると消えます。
手元の UUID が正しい形式か、どのバージョンかを確かめられますか?
確かめられます。「UUID を検証・判定する」に貼ると、形式が正しいかと、バージョン(v1〜v8)・バリアント、NIL(すべて 0)・MAX(すべて f)の特別な値を判定します。ハイフンなし・波括弧付き・urn:uuid: 付きでも読めます。
UUID から作られた日時は分かりますか?
v1・v6・v7 なら分かります。埋め込まれた時刻を UTC と日本時間で表示し、v1 と v6 はクロックシーケンスとノード(MAC アドレスか乱数)も表示します。v3・v4・v5・v8 は時刻を含まないため表示しません。v2 は時刻の一部が別の値に置き換えられているため、日時は出していません。