Generator UUID Versi 1 (Timestamp)

Hasilkan UUID berbasis timestamp dengan alamat MAC untuk identifikasi unik berurutan waktu

Coba contoh ini:

Apa itu UUID v1?

Versi UUID 1 adalah pengenal 128-bit berbasis waktu (string 36 karakter) dari RFC 4122. Ini menggabungkan:

  • Timestamp: Nilai 60-bit (presisi 100-nanodetik sejak 1582-10-15)
  • Urutan jam: Penghitung 14-bit untuk penyesuaian jam
  • ID Node: Nilai 48-bit (biasanya alamat MAC)

Contoh format: 2ed6657d-e927-11eb-9a03-0242ac130003

Cara kerja UUID v1

  1. Hitung cap waktu saat ini (interval 100ns sejak 1582-10-15)
  2. Dapatkan/tingkatkan urutan jam 14-bit (untuk keunikan jika jam mundur)
  3. Dapatkan ID node 48-bit (biasanya dari alamat MAC)
  4. Atur bit versi (0001) dan bit varian (10)
  5. Susun sebagai 32 digit heksadesimal dengan tanda hubung: format 8-4-4-4-12

Keuntungan & Pertimbangan

AdvantagesConsiderations
  • Berurutan waktu (dapat diurutkan)
  • Generasi kinerja tinggi
  • Generasi terdistribusi
  • Waktu pembuatan tertanam
  • Kekhawatiran privasi alamat MAC
  • Masalah sinkronisasi jam
  • Lebih dapat diprediksi daripada UUID acak
  • Tidak aman secara kriptografi

Struktur UUID v1

BitsContent
0-3132 bit bawah dari cap waktu
32-4716 bit tengah dari cap waktu
48-5912 bit atas dari cap waktu
60-63Versi (0001 untuk v1)
64-65Varian (10 untuk RFC4122)
66-79Urutan jam (14 bit)
80-127ID Node (48 bit)

UUID v1 vs. versi lain

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

Kasus Penggunaan Umum

  • Kunci basis data: Basis data terdistribusi
  • Log audit: Pelacakan berurutan waktu
  • ID Transaksi: Proses bisnis
  • Pelacakan sesi: Aplikasi web
  • Pengalamatan konten: Sistem CMS
  • Pesan IoT: Komunikasi perangkat

Pertanyaan yang Sering Diajukan

Apakah UUID v1 aman secara kriptografi?

Tidak. UUID v1 dapat diprediksi jika cap waktu dan alamat MAC diketahui. Untuk keamanan, gunakan UUID v4 acak sebagai gantinya.

Apakah nilai UUID v1 dapat bertabrakan?

Tabrakan sangat tidak mungkin terjadi dalam praktik karena presisi cap waktu, penghitung urutan jam, dan pengenal node.

Bisakah saya mengekstrak waktu pembuatan dari UUID v1?

Ya. Komponen cap waktu dapat diekstrak dengan algoritma yang sesuai yang tersedia di sebagian besar pustaka UUID.

Apakah UUID v1 dapat diurutkan berdasarkan waktu pembuatan?

Ya, tetapi diperlukan fungsi pengurutan khusus. Perbandingan string langsung tidak akan berhasil karena bit waktu tidak berurutan.

Apakah UUID v1 mengungkap alamat MAC saya?

Secara default, ya. Sebagian besar implementasi menggunakan alamat MAC untuk ID node. Implementasi yang fokus pada privasi mungkin menggunakan ID node acak sebagai gantinya.

Resources