ULID Generator
Hasilkan ULID (Pengidentifikasi yang Dapat Diurutkan Secara Unik Secara Universal). 26 karakter, aman URL, dapat diurutkan waktu, dan kompatibel dengan UUID.
Menghasilkan ULID
Membuat ID unik yang dapat diurutkan
ULID yang dihasilkan
Klik "Hasilkan ULID" untuk membuat pengidentifikasi unik
Pertanyaan yang Sering Diajukan
What is a ULID?
Pengidentifikasi 26 karakter yang memuat stempel waktu milidetik 48-bit dan 80 bit keacakan, sehingga ID terurut sesuai waktu pembuatannya.
Mengapa memilih ULID daripada UUID?
ULID terurut secara leksikografis berdasarkan waktu, lebih pendek, dan menggunakan Crockford base32 yang aman URL tanpa tanda hubung yang harus dikelola.
Can I trust the ordering?
Untuk milidetik yang berbeda, ya. Dalam milidetik yang sama, urutan antara dua ULID tidak dijamin.
Apakah ULID berfungsi di tempat yang menggunakan UUID?
ULID dapat langsung dipakai di sebagian besar kolom string dan API, serta konversi antara ULID dan UUID sangat mudah dilakukan ketika kedua format harus berdampingan.
Berapa panjang sebuah ULID dan karakter apa saja yang digunakan?
Setiap ULID memiliki tepat 26 karakter menggunakan Crockford Base32, yang mencakup angka 0-9 dan huruf A-Z kecuali I, L, O, dan U. Panjang tetap ini membuat ukuran kolom database tetap dapat diprediksi dan menghindari karakter yang membingungkan saat ID dibaca dengan suara atau diketik secara manual.
Apakah ULID aman digunakan dalam URL dan nama file?
Ya. ULID hanya berisi huruf kapital dan angka tanpa tanda hubung, garis miring, atau simbol, sehingga dapat melewati URL, segmen path, dan nama file tanpa percent-encoding. Panjang 26 karakter juga muat dengan nyaman dalam pola rute dan baris log.
Berapa banyak ULID yang dapat dihasilkan dalam milidetik yang sama?
Bagian acak 80-bit menyediakan sekitar 2^80 nilai per milidetik, sehingga tabrakan (collision) hampir mustahil terjadi. Jika aplikasi Anda membuat beberapa ID dalam satu milidetik, gunakan mode monotonic, yang menambah bagian acak sebanyak satu sehingga urutan pengurutan tetap terjaga.
Bagaimana cara membaca stempel waktu dari sebuah ULID?
10 karakter pertama mengodekan stempel waktu Unix dalam milidetik, sementara 16 karakter sisanya bersifat acak. Dekode 10 karakter tersebut dari Crockford Base32 menjadi angka, lalu konversikan dengan alat stempel waktu Unix apa pun untuk mendapatkan waktu pembuatan yang tepat.
Struktur ULID
Setiap ULID terdiri dari dua bagian: stempel waktu dan keacakan
01ARZ3NDEKTSV4RRFFQ69G5FAV
Contoh: ULID ini dihasilkan pada milidetik tertentu dan mencakup 80 bit keacakan
Stempel waktu (48 bit)
Milidetik sejak zaman Unix (1970-01-01). Menyediakan penyortiran yang ditentukan waktu dan berlangsung hingga 10889 M.
Keacakan (80 bit)
Nilai acak yang aman secara kriptografis. Menyediakan ID unik 1,21 triliun per milidetik.
Spesifikasi teknis
ULID dirancang agar dapat diurutkan, aman untuk URL, dan kompatibel dengan UUID
Fitur
- Keacakan yang aman secara kriptografis
- Hanya pembuatan sisi klien
- Dapat diurutkan secara leksikografis
- Tidak ada karakter khusus (aman URL)
Spesifikasi
- 26 karakter (128 bit)
- Pengkodean Base32 Crockford
- Stempel waktu 48-bit + keacakan 80-bit
- 1,21 juta ID per milidetik
Referensi & Sumber Daya
-
ULID Specification - GitHub
Spesifikasi ULID yang dapat diurutkan — pengidentifikasi unik dengan prefiks timestamp.
-
Universally Unique Identifier - Wikipedia
Referensi umum tentang universally unique identifier dan variasinya.