Generador de UUID Versión 3 (Basado en Nombre con MD5)

Genera UUIDs consistentes usando espacio de nombres y nombre con hashing MD5

Pengaturan NamespaceSHA-1

UUID versi v3 dan v5 memerlukan namespace dan nama untuk menghasilkan UUID deterministik.

Harus berupa UUID yang valid. Gunakan dropdown untuk memilih namespace yang telah ditentukan.
String teks apa pun yang akan di-hash untuk membuat UUID.

Coba contoh ini:

Apa itu UUID v3?

Versi UUID 3 adalah pengenal 128-bit berbasis namespace (string 36-karakter) dari RFC 4122 yang menggunakan hashing MD5. Ini terdiri dari:

  • Namespace UUID: Namespace UUID yang telah ditentukan atau kustom
  • Name: String yang diberikan pengguna yang akan di-hash
  • Hash MD5: Diterapkan pada kombinasi namespace + nama

Contoh format: 9125a8dc-52ee-365b-a5aa-81b0b3681cf6

Cara kerja UUID v3

  1. Pilih namespace UUID (yang telah ditentukan atau kustom)
  2. Gabungkan byte namespace UUID dengan byte string nama
  3. Hitung hash MD5 dari nilai yang digabungkan
  4. Setel bit versi ke 0011 (versi 3)
  5. Setel bit varian ke 10 (standar RFC 4122)
  6. Susun sebagai 32 digit heksadesimal dengan tanda hubung: format 8-4-4-4-12

Keuntungan & Pertimbangan

AdvantagesConsiderations
  • Generasi deterministik
  • Input sama = UUID sama
  • Tidak memerlukan status
  • Tidak ada masalah privasi
  • MD5 secara kriptografi lemah
  • Tidak berurutan/waktu-sorting
  • UUID v5 (SHA-1) lebih disukai
  • Tidak ada waktu pembuatan yang tertanam

Struktur UUID v3

BitsContent
0-4748 bit pertama dari hash MD5
48-51Versi (0011 untuk v3)
52-6312 bit berikutnya dari hash MD5
64-65Varian (10 untuk RFC4122)
66-12762 bit sisa dari hash MD5

Namespace yang telah ditentukan

NameUUIDPurpose
DNS6ba7b810-9dad-11d1-80b4-00c04fd430c8Nama domain
URL6ba7b811-9dad-11d1-80b4-00c04fd430c8URLs
OID6ba7b812-9dad-11d1-80b4-00c04fd430c8OID ISO
X.500 DN6ba7b814-9dad-11d1-80b4-00c04fd430c8Nama Terhormat X.500

UUID v3 vs. versi lain

VersionBerdasarkanKasus penggunaanPrivacy
UUID v1Waktu + MACID berurutan waktu⚠️ Mengungkap MAC
UUID v3Namespace + MD5ID Deterministik✅ Pribadi
UUID v4RandomID acak aman✅ Pribadi
UUID v5Namespace + SHA-1ID Deterministik✅ Pribadi
UUID v6Waktu (diurutkan ulang)ID yang dapat diurutkan⚠️ Mengungkap MAC
UUID v7Waktu + acakID yang dapat diurutkan✅ Pribadi

Kasus Penggunaan Umum

  • Pengenal berbasis URL: Membuat UUID dari URL
  • ID spesifik domain: Mengonversi nama DNS ke UUID
  • ID file deterministik: Pengalamatan konten
  • ID pengguna: Dari email atau nama pengguna
  • Entri konfigurasi: Untuk kunci konsisten
  • Referensi dokumen: Sistem manajemen konten

Pertanyaan yang Sering Diajukan

Apakah UUID v3 aman secara kriptografi?

Tidak benar-benar. UUID v3 menggunakan MD5, yang memiliki kelemahan kriptografi yang diketahui. Untuk keamanan lebih tinggi, pertimbangkan UUID v5 (SHA-1) atau UUID v4 (acak).

Apakah input yang sama selalu menghasilkan UUID v3 yang sama?

Ya. UUID v3 bersifat deterministik - namespace dan nama yang sama akan selalu menghasilkan UUID identik, membuatnya berguna untuk ID yang dapat direproduksi.

Apa perbedaan antara UUID v3 dan v5?

Mereka bekerja identik kecuali v3 menggunakan MD5 sedangkan v5 menggunakan SHA-1. UUID v5 umumnya lebih disukai karena SHA-1 secara kriptografi lebih kuat daripada MD5.

Bisakah saya membuat namespace saya sendiri?

Ya. Meskipun RFC 4122 mendefinisikan namespace standar (DNS, URL, OID, X.500), Anda dapat membuat namespace kustom menggunakan UUID yang valid.

Apakah UUID v3 cocok untuk token keamanan?

Tidak. Karena kelemahan MD5 dan sifat deterministiknya, UUID v3 tidak direkomendasikan untuk token keamanan atau apa pun yang membutuhkan ketidakpastian.

Resources