Tinjauan teknis komprehensif tentang pengenal 128 bit, standar RFC, format, pengindeksan database, dan kriptografi sisi klien.
Apa itu UUID?
Universally Unique Identifier (UUID) adalah label numerik 128 bit yang distandarisasi oleh Open Software Foundation (OSF) dan diformalkan di bawah standar IETF RFC 4122 dan RFC 9562. Dengan 3,4 × 10³⁸ kombinasi unik, sistem terdistribusi, layanan mikro, dan aplikasi seluler dapat membuat ID secara mandiri tanpa database pusat.
Versi UUID dan Opsi Format
UUID standar diformat sebagai 32 karakter heksadesimal yang dipisahkan oleh empat tanda hubung (pola 8-4-4-4-12, total 36 karakter). UUID v4 menyediakan 122 bit entropi acak kriptografis. UUID v7 memperkenalkan timestamp Unix milidetik 48 bit untuk pengurutan kronologis. Generator kami juga mendukung format tanpa tanda hubung (32 karakter hex), huruf besar, {GUID}, dan array string JSON.
UUID vs GUID: Standar dan Interoperabilitas
Globally Unique Identifier (GUID) adalah implementasi historis Microsoft untuk standar UUID. Dalam pengembangan modern pada .NET, C#, Python, Java, Go, Rust, dan PostgreSQL, GUID dan UUID merujuk pada struktur biner 128 bit yang identik. Keduanya mematuhi spesifikasi RFC 4122 / RFC 9562 dan dapat dikonversi tanpa kehilangan data.
Kasus Penggunaan dalam Rekayasa Perangkat Lunak & Database
UUID sangat penting di seluruh rekayasa perangkat lunak: kunci primer database (PostgreSQL UUID, MySQL BINARY(16), SQLite), streaming peristiwa terdistribusi (Kafka, RabbitMQ), ID sumber daya API REST dan GraphQL, token idempotensi untuk pembayaran (Stripe), dan sinkronisasi offline aplikasi seluler.
Pembuatan Sisi Klien yang Aman dan Privasi
FastUUIDGenerator membuat semua pengenal 100% secara lokal di browser Anda menggunakan Web Cryptography API asli (crypto.getRandomValues). Entropi sistem operasi (/dev/urandom, BCryptGenRandom) memastikan ketidakpastian kriptografis penuh. Tidak ada data yang dikirim melalui internet.
Validasi, Dekode, dan Pembuatan Massal
Selain pembuatan tunggal, rangkaian alat kami mencakup Validator UUID untuk memeriksa sintaks dan varian RFC, Dekoder UUID v7/v1 untuk mengekstrak timestamp UTC dan urutan jam, generator GUID Microsoft, serta Generator Massal hingga 10.000 UUID dengan ekspor CSV, JSON, dan TXT.
Pertanyaan yang Sering Diajukan (FAQ)
Clear, concise answers to the most common questions about UUID generation, formats, and standards.
UUID kanonik standar (RFC 4122/9562) terdiri dari 32 digit heksadesimal yang dipisahkan oleh 4 tanda hubung dengan pola 8-4-4-4-12 (misal: 550e8400-e29b-41d4-a716-446655440000), dengan total 36 karakter. Dalam bentuk biner mentah, UUID disimpan dalam 16 byte (128 bit).
Generator UUID adalah alat, pustaka pemrograman, atau fungsi kriptografi yang membuat Pengenal Unik Universal 128 bit menggunakan generator angka pseudoacak yang aman secara kriptografis (CSPRNG untuk UUID v4) atau urutan berbasis stempel waktu (untuk UUID v7).
Pada Windows, temukan UUID perangkat keras sistem dengan menjalankan perintah "wmic csproduct get uuid" di Command Prompt atau "Get-CimInstance Win32_ComputerSystemProduct" di PowerShell. Pada Linux, periksa "/sys/class/dmi/id/product_uuid". Pada macOS, jalankan "system_profiler SPHardwareDataType". Dalam rekayasa perangkat lunak, UUID digunakan untuk baris database, akun pengguna, dan sumber daya API.
Anda dapat membuat UUID secara instan di web menggunakan FastUUIDGenerator, atau melalui kode pemrograman: di JavaScript dengan crypto.randomUUID(), di Python menggunakan uuid.uuid4(), di Java via UUID.randomUUID(), di C# dengan Guid.NewGuid(), atau di PostgreSQL dengan gen_random_uuid().
UUID kanonik standar berisi 32 karakter heksadesimal (0-9, a-f) dan 4 tanda hubung dengan pola xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx. Digit ke-13 (M) menunjukkan versi UUID (misal: 4 untuk acak, 7 untuk berbasis waktu), dan digit ke-17 (N) menunjukkan varian RFC (8, 9, a, atau b).
Secara praktis, tidak. Dengan 128 bit yang menyediakan 3,4 × 10³⁸ kombinasi, membuat 1 miliar UUID v4 per detik selama 73 tahun hanya menghasilkan 50% peluang terjadinya satu tabrakan tunggal. Dalam sistem terdistribusi, duplikasi acak hampir mustahil terjadi.
ID tradisional biasanya berupa bilangan bulat berurutan (1, 2, 3...) yang dikelola oleh satu database terpusat. UUID adalah pengenal 128 bit yang unik secara global dan dapat dibuat mandiri di banyak server terdistribusi atau aplikasi offline tanpa risiko tabrakan data.
UUID merupakan singkatan dari Universally Unique Identifier (Pengenal Unik Universal). Ini adalah standar nilai numerik 128 bit yang didefinisikan oleh IETF RFC 4122 dan RFC 9562 untuk memberikan identifikasi unik tanpa memerlukan otoritas pendaftaran pusat.
UUID sangat penting dalam sistem terdistribusi dan layanan mikro di mana banyak simpul perlu membuat ID secara bersamaan tanpa roundtrip database. UUID mencegah tabrakan saat menggabungkan database, mencegah serangan tebak ID sekuensial, dan mendukung pembuatan data offline.
Ya. UUID v4 dan v7 yang dibuat dengan CSPRNG kebal terhadap tabrakan dan tebakan. UUID v1 lama mengekspos alamat MAC hardware, sehingga sistem modern beralih ke v4 atau v7. UUID tidak boleh digunakan sebagai token rahasia autentikasi pada URL publik.
Gunakan UUID sebagai kunci primer database (PostgreSQL UUID, MySQL BINARY(16)), pengenal sumber daya API REST/GraphQL (misal: /api/orders/550e8400-e29b-41d4-a716-446655440000), token sesi, kunci idempotensi gateway pembayaran, dan ID korelasi pada antrean pesan seperti Kafka.
Ya. Anda dapat menempelkan UUID apa pun ke alat Dekoder UUID gratis kami untuk langsung mengekstrak versi, varian RFC, representasi biner, dan stempel waktu aslinya (jika merupakan UUID v1, v6, atau v7).
Ya, di FastUUIDGenerator 100% aman. Seluruh proses pembuatan dilakukan langsung di browser Anda menggunakan Web Cryptography API bawaan (crypto.getRandomValues). Tidak ada data pengenal atau parameter yang dikirim melalui jaringan.
UUID 128 bit dikonversi ke bilangan bulat dengan menghapus tanda hubung lalu mem-parsing string 32 karakter heksadesimal ke basis 16. Di JavaScript: BigInt("0x" + uuid.replace(/-/g, "")). Di Python: int(uuid.UUID(str_uuid)). Hasilnya berkisar antara 0 hingga 2¹²⁸-1 (hingga 3,4 × 10³⁸).