3 poin oleh GN⁺ 2024-08-27 | 1 komentar | Bagikan ke WhatsApp
  • Berbagai versi UUID

    • UUID Version 1 (v1): dibuat dari timestamp, penghitung monoton, dan alamat MAC
    • UUID Version 2 (v2): dicadangkan untuk security ID. Detailnya tidak banyak diketahui
    • UUID Version 3 (v3): dibuat dari hash MD5 atas data yang diberikan. DNS dan URL diusulkan sebagai data kandidat
    • UUID Version 4 (v4): dibuat dari data yang sepenuhnya acak. Ini adalah UUID yang biasanya dibayangkan kebanyakan orang
    • UUID Version 5 (v5): dibuat dari hash SHA1 atas data yang diberikan. Seperti v3, DNS dan URL diusulkan sebagai data kandidat
    • UUID Version 6 (v6): dibuat dari timestamp, penghitung monoton, dan alamat MAC. Menggunakan data yang sama seperti v1, tetapi urutannya diubah agar bisa diurutkan berdasarkan waktu pembuatan
    • UUID Version 7 (v7): dibuat dari timestamp dan data acak
    • UUID Version 8 (v8): sepenuhnya bisa didefinisikan pengguna (kecuali field versi/varian yang wajib)
  • Kapan digunakan

    • v4: gunakan saat membutuhkan ID acak. Cocok sebagai pilihan default
    • v7: gunakan jika perlu pengurutan. Misalnya, cocok digunakan sebagai key database
    • v5 atau v8: gunakan saat ingin menyertakan data unik ke dalam UUID. Anda akan tahu saat memang membutuhkannya
  • Penjelasan tentang versi lain

    • v7 adalah versi yang menyempurnakan v1 dan v6, jadi sebisa mungkin lebih baik menggunakan v7. Karena itu, v1 atau v6 biasanya tidak digunakan
    • v2 dicadangkan untuk penggunaan terkait keamanan. Jika sedang memakainya, besar kemungkinan Anda tidak bisa mengetahui detailnya
    • v3 digantikan oleh v5. v5 menggunakan hash yang lebih kuat

Ringkasan GN⁺

  • UUID memiliki berbagai versi, dan tiap versi dirancang untuk kegunaan tertentu
  • v4 dan v7 adalah yang paling umum digunakan, sedangkan v5 dan v8 dipakai saat ada kebutuhan data tertentu
  • Pemilihan versi UUID bergantung pada tujuan penggunaan; jika perlu pengurutan gunakan v7, jika perlu ID acak gunakan v4
  • Memahami berbagai versi UUID membantu memilih UUID yang tepat untuk proyek

1 komentar

 
GN⁺ 2024-08-27
Komentar Hacker News
  • UUID Versi 2 (v2) dicadangkan untuk ID keamanan, dan detailnya tidak banyak diketahui

    • Karena dokumen RFC ditulis dengan tidak jelas
    • Anda bisa mendapatkan lebih banyak informasi dengan merujuk ke dokumen Open Group
    • UUID "versi 0" juga ada, dan ini membantu agar versi-versi lain kompatibel di kemudian hari
    • Hasil penelitiannya bisa dilihat di GitHub
  • Detail UUID v2 bisa ditemukan dengan mudah di dokumen RFC 9562

    • Didefinisikan sebagai bagian dari DCE, dan Anda bisa melihat detailnya dengan mengeklik tautan terkait
    • Mengeklik tautannya itu penting
  • Stempel waktu UUID v7 berguna untuk menemukan file metadata dengan cepat di Databend

    • Sangat meningkatkan kecepatan kerja di AWS S3
    • PR terkait bisa dilihat di GitHub
  • Akan bagus jika ada standar untuk UUID pendek

    • Contoh: 73WakrfVbNJBaAmhQtEeDv atau bK7nP9xM
    • Dibutuhkan ID yang pendek dan mudah diingat
  • Sulit memahami tujuan UUID2

    • Saya hanya pernah menemui UUID2 saat meminta penghapusan data pribadi di Xandr
    • Bahkan setelah membaca halaman Wikipedia, tetap sulit memahami mengapa dibutuhkan berbagai jenis UUID
    • Saya penasaran apakah pencampuran dengan kode Mac meningkatkan keacakan UUID2, atau ada alasan lain
    • Demi privasi, jika menggunakan pengenal yang sangat panjang, Anda bisa memakai UUID yang tidak duplikat
  • UUID v4 pada dasarnya hanyalah pembangkit byte acak

    • Akan lebih efisien untuk menghasilkan byte acak tanpa tanda hubung, informasi versi, dan sebagainya
  • Sebaiknya jangan gunakan versi berbasis MAC

    • Secara teori ini berlaku untuk semua versi selain v4 dan v7
    • Terutama v1 adalah yang terburuk, dan MD5 pada v3 juga sangat lemah
  • UUID yang menggunakan data SHA256 dan penghitung bisa berguna

    • Bisa digunakan sebagai pengenal yang melindungi privasi dengan cara yang mirip PBKDF2
  • Sebaiknya gunakan v7

    • Para pakar keamanan mungkin akan menentangnya
  • Bacaan yang menarik

    • Setiap hari kita bisa belajar hal baru