Alat pengembang

Generator UUID

Buat kedelapan versi UUID secara berdampingan. Gunakan pengaturan untuk ID MAC atau node, pengenal lokal DCE, nama namespace, dan payload UUIDv8 khusus, lalu salin hasil yang Anda perlukan.

8 versi RFC lokal di browser Baca RFC 9562

Generator

Buat UUID

UUID dibuat ulang saat halaman disegarkan atau tombol diklik

Pengaturan versi

Browser tidak dapat membaca alamat MAC Anda. Masukkan alamat untuk membuat ulang field node, atau biarkan kosong untuk ID node acak yang menjaga privasi.

UID, GID, atau pengenal 32-bit lain yang bermakna dalam domain DCE yang dipilih.

UUIDv2 adalah format kompatibilitas DCE Security dan jarang digunakan pada aplikasi baru.

Nama dikodekan dalam UTF-8 sebelum di-hash. Namespace dan nama yang sama berarti UUID yang sama.

UUIDv8 hanya menstandarkan bit versi dan varian. Nilai ini adalah payload khusus aplikasi yang bersifat eksperimental, bukan skema keunikan yang dijamin.

Pembuatan, hashing, dan pengaturan tetap berada di tab browser ini. Tidak ada yang dimasukkan di sini dikirim ke server atau disimpan.

Hasil

Siap membuat.

v1

Berbasis waktu

Waktu Gregorian + urutan jam + node

Klik untuk membuat
timestamp MAC / node lama

Berguna untuk interoperabilitas lama. MAC asli dapat mengidentifikasi host, jadi halaman ini menggunakan node lokal acak jika Anda tidak memberikannya.

v2

DCE Security

ID lokal + domain DCE + waktu + node

Klik untuk membuat
timestamp ID lokal MAC / node lama

RFC 9562 mengarahkan UUIDv2 ke spesifikasi DCE. Generator ini menyediakan tata letak UID / GID / organisasi yang umum untuk pekerjaan kompatibilitas.

v3

Berbasis nama · MD5

UUID namespace + nama di-hash dengan MD5

Klik untuk membuat
berbasis nama deterministik MD5

Deterministik dan dapat digunakan lintas sistem lama. Pilih v5 untuk desain berbasis nama baru kecuali kompatibilitas v3 diperlukan.

v4

Acak

122 bit acak secara kriptografis

Klik untuk membuat
acak tanpa MAC tujuan umum

Default yang umum di banyak platform. Tidak berisi timestamp, alamat MAC, nama, atau sinyal pengurutan.

v5

Berbasis nama · SHA-1

UUID namespace + nama di-hash dengan SHA-1

Klik untuk membuat
berbasis nama deterministik SHA-1

Gunakan saat nama stabil harus dipetakan ke UUID yang sama di berbagai sistem. Hash digunakan untuk namespace, bukan keamanan kata sandi.

v6

Berbasis waktu yang diurutkan ulang

Field v1 dengan byte timestamp dipindahkan ke depan

Klik untuk membuat
berurutan menurut waktu MAC / node ramah basis data

Dirancang untuk meningkatkan lokalitas pada beban kerja bergaya v1. Pilih v7 untuk sistem baru yang tidak memerlukan kompatibilitas v1.

v7

Berurutan menurut waktu Unix

Milidetik epoch Unix + bit acak

Klik untuk membuat
berurutan menurut waktu acak ramah basis data

Pilihan modern yang berurutan menurut waktu: byte timestamp berada di depan, sementara bit lainnya memberikan keunikan tanpa alamat MAC.

v8

Khusus / eksperimental

122 bit yang ditentukan aplikasi

Klik untuk membuat
payload khusus eksperimental acak

Hanya versi dan varian yang distandarkan. Tentukan tata letak dan aturan keunikan sebelum menggunakan v8 dalam format pertukaran.

Panduan kompatibilitas

Apa yang biasanya dibuat oleh bahasa Anda

API bawaan dan fungsi basis data sering kali hanya mendukung versi yang paling banyak digunakan di ekosistemnya. Selalu periksa kontrak versi dan urutan byte pada batas integrasi.

.NET / ASP.NET

v4v7 · .NET 9+

API GUID .NET terutama mencakup UUIDv4; library dan versi modern dapat menyediakan UUID yang berurutan menurut waktu. Selalu periksa versi yang sebenarnya.

Java SE

v3v4

API standar Java mencakup UUID acak dan berbasis nama; versi lain memerlukan library atau implementasi tambahan.

Python

v1 · v3 · v4 · v5v6 · v7 · v8 · Python 3.14+

Modul uuid standar mencakup v1, v3, v4, dan v5; Python versi terbaru menambahkan v6, v7, dan v8. UUIDv2 bukan bagian dari modul standar.

Node.js / JavaScript

core · v4uuid · v1/v3/v4/v5/v6/v7

crypto.randomUUID() bawaan Node adalah v4, sedangkan rilis Node terbaru juga menyediakan v7. Paket uuid populer menyediakan v1, v3, v4, v5, v6, dan v7; v8 sengaja dibiarkan khusus aplikasi.

Apa yang dibuat secara asli oleh basis data

Apa yang dibuat secara asli oleh basis data

Dukungan bawaan berbeda menurut mesin dan rilis. Helper UUID berurutan atau biner tidak otomatis berarti UUIDv6 atau UUIDv7.

v4 · v7 · PostgreSQL 18+

Pembuatan v4 dan v7 secara asli: gen_random_uuid() untuk v4 dan uuidv7() untuk v7 yang berurutan menurut waktu.

v1 · binary(16)

UUID() mengembalikan v1. UUID_TO_BIN(..., 1) dapat mengurutkan ulang field waktu v1 untuk penyimpanan, tetapi tidak menghasilkan UUIDv6 atau UUIDv7.

v4 · GUID berurutan

NEWID() menghasilkan GUID yang sesuai RFC 4122. NEWSEQUENTIALID() berurutan untuk lokalitas indeks, tetapi bukan UUIDv6 atau UUIDv7.

v4 · Oracle 23ai+

UUID() mengembalikan v4 di Oracle Database 23ai dan yang lebih baru. SYS_GUID() tetap merupakan generator RAW 16-byte, tetapi tidak dilabeli sebagai versi UUID RFC.

tanpa UUID asli · randomblob(16)

SQLite tidak memiliki tipe UUID atau generator UUID berversi. randomblob(16) dan hex() dapat membuat teks acak 128-bit, tetapi aplikasi harus menetapkan bit UUID v4 sendiri.

v4 · mongosh UUID() · ObjectId ≠ UUID

UUID() di mongosh menghasilkan UUID BSON v4 acak. ObjectId bawaan adalah pengenal 12-byte terpisah, bukan salah satu UUID v1-v8.

Pengurutan

v6 dan v7 menempatkan waktu di awal sehingga pengurutan byte atau teks mengikuti waktu pembuatan. Keduanya berguna untuk lokalitas basis data; urutan field lama v1 tidak secara alami terurut leksikografis.

Privasi MAC / node

v1, v2, dan v6 memiliki field node. Field ini dapat berupa alamat MAC atau nilai acak. Halaman ini tidak pernah mencari MAC browser, dan pengaturan kosongnya menggunakan node multicast acak.

UUIDv8 bukan hash ajaib

v8 menyediakan 122 bit untuk format Anda; ini tidak menjamin keunikan global. Dokumentasikan payload, pembuatan versi, dan strategi benturan bersama aplikasi Anda.