Generator ULID

Damel ULID kanthi online: ID Crockford Base32 kanthi 26 karakter mawi wektu 48-bit lan 80 bit acak.

Format
ID ingkang dipungenerate
Siyap. Damel ULID ing browser panjenengan.

Kadospundi ID punika dipundamel

Tata letak
26 karakter Crockford Base32: 10 karakter wektu dipuntuti dening 16 karakter acak.
Entropi
80 bit acak sasampunipun penanda wektu milidetik 48-bit.
Wektu
Nggih. 10 karakter kapisan ng-encode wektu milidetik, lan urutan leksikal badhe manut wektu kasebat.
Risiko tabrakan (collision)
Buntut acak nggadhahi 80 bit; risiko tabrakan gumantung dhateng pinten kathah ID ingkang dipundamel ing milidetik ingkang sami.
Tuladha
01M12BRPYY9MZ9NZS204F7P14H

ID panjenengan dipungenerate kanthi lokal mawi sistem acak browser ingkang kuwat. Mboten wonten data ingkang dipunkirim dhateng BroBroGo.

Pitakenan Umum (FAQ)

Menapa gunanipun ULID?

ULID punika ringkes, ramah URL, lan saged dipunurutaken adhedhasar wektu minangka teks biasa, ingkang migunani kagem log, kunci objek, lan rekaman ingkang kedah dipunurutaken miturut wektu pandamelan.

Menapa ULID punika sami kaliyan UUID v7?

Mboten. Kalorone pancen ngginakaken wektu milidetik, nanging ULID ngginakaken Crockford Base32 lan 26 karakter, dene UUID v7 tetep ngginakaken wujud heksadesimal UUID standar.

Prabédan Utama Kaca Iki karo Format Liyané

Kaca iki ngasilaké ULID, yaiku format identifier sing luwih cendhèk tinimbang UUID (26 karakter lawan 36) lan mung nganggo aksara Crockford base32 — dadi ora mbédakaké huruf gedhé/cilik (case‑insensitive) lan tanpa tanda hubung. ULID bisa diurutaké sacara leksikografis miturut wektu digawéné merga 10 karakter pisanan ngandhut timestamp kanthi presisi milidetik. Identifier iki uga aman kanggo URL tanpa perlu escaping. Ora ana pilihan kanggo huruf gedhé/cilik utawa tanda hubung ing kaca iki, amarga ULID pancèn wis tanpa hyphens lan case‑insensitive. Saben ID sing digawé dawa 26 karakter, siap disalin siji‑siji utawa kabèh bebarengan.

Kaca iki minangka bagéan saka alat online gratis. Sampeyan milih ULID minangka format, nemtokaké cacahé ID sing dikarepaké (antara 1 nganti 100), banjur alat iki enggal ngasilaké dhaftar ULID sing unik lan bisa diurutaké miturut wektu. Saben ID katon minangka string 26 karakter sing bisa langsung disalin.

Struktur Internal ULID: 128 Bit kanggo Wektu lan Acak

ULID nduwèni dhasar 128 bit, padha karo UUID. Nanging pamérangané béda. 48 bit pisanan minangka timestamp sing ngukir wektu ana ing milidetik (millisecond precision). Timestamp iki dienkode dadi 10 karakter pisanan nganggo aksara Crockford base32. 80 bit sisané minangka komponèn acak (random component) sing dienkode dadi 16 karakter pungkasan. Dadi total 26 karakter.

Aksara Crockford base32 iku alfabèt angka 0–9 lan huruf A–Z kajaba I, L, O, U. Mangkono, karakter sing bisa mbingungaké kaya I/1, O/0, L/1 ora ana, lan huruf gedhé/cilik dianggep padha. Contoné, ULID "01ARZ3NDEKTSV4RRFFQ69G5FAV" bisa ditulis nganggo huruf cilik "01arz3ndektsv4rrffq69g5fav" lan isih bener.

Proses encoding timestamp 48 bit dadi 10 karakter base32 mirib karo sistem Unix epoch, nanging nganggo basis 32 dudu basis 10. Timestamp kasebut wiwit saka epoch Unix (1 Januari 1970) lan bisa nganti saklawasé 10.000 taun luwih.

Cara Ngurutaké (Sorting) lan Watesané

Merga timestamp minangka bagéyan ngarep, ULID sacara leksikografis bisa diurutaké miturut wektu digawéné. Iki migunani banget nalika digunakake minangka primary key ing basis data B‑tree, amarga ID anyar sing digawé terus bakal ditambahaké ing akhir indeks, ora nyebar acak kaya UUID v4. Mangkono, kinerja insert dadi luwih apik.

Nanging ana watesan: yen loro utawa luwih ULID digawé ana ing milidetik sing padha, urutan antarane ora dijamin. Amarga komponèn acak 80 bit tetep acak ing saben générasi. Dadi yen sampeyan butuh urutan ketat ing milidetik sing padha, kudu nganggo mekanisme tambahan (contone, nambah nomer urut ing sawijining bit liyané). Nanging kanggo akèh aplikasi, iki ora dadi masalah.

Perbandhingan karo UUID v4 lan UUID v7

Fitur ULID UUID v4 UUID v7
Dawa karakter 26 36 36
Tanda hubung Ora ana Ana (4) Ana (4)
Case‑sensitive Ora (case‑insensitive) Ora (case‑insensitive) Ora (case‑insensitive)
Timestamp bisa diurut Ya (48‑bit, milidetik) Ora (acak kabèh) Ya (48‑bit, milidetik)
Komponèn acak 80 bit 122 bit 74 bit (sawisé timestamp + version bits)
Alfabèt Crockford base32 heksadesimal heksadesimal
Aman URL tanpa escaping Ya Ya (sawisé ngilangaké tanda hubung) Ya (sawisé ngilangaké tanda hubung)

ULID luwih cendhèk tinimbang UUID kanthi 10 karakter lan tanpa tanda hubung, dadi luwih gampang ditulis manual, disimpen ing kolom database, utawa ditampilaké ing URL. Dene UUID v7 uga nduwèni timestamp, nanging dawa 36 karakter lan nganggo tanda hubung.

Probabilitas Tabrakan (Collision) lan Keamanan

Probabilitas tabrakan (collision) ULID gumantung marang komponèn acak 80 bit. Iki tegesé ana 2^80 (kira‑kira 1,2×10^24) kemungkinan kanggo saben generasi. Yen sampeyan ngasilaké 1 milyar ULID saben milidetik, dibutuhaké kira‑kira 1,5×10^7 taun kanggo tabrakan saben 50% probabilitas (miturut paradoks ulang tahun). Dadi kanggo aplikasi umum, tabrakan pancèn meh ora mungkin.

Générési acak ing kaca iki nggunakake crypto.getRandomValues() sing ana ing browser sampeyan. Iki minangka sumber acak kriptografi sing kuwat. Ora ana data sing dikirim menyang server; kabèh diproses lokal. Mula, ora ana risiko data bocor utawa disimpen ing papan liya.

Kanggé Sapa Kaca Iki Migunani?

Kaca iki dirancang kanggo para pangembang lan profesional sing butuh identifier unik, cendhèk, lan bisa diurutaké miturut wektu.

  • Pangembang web lan mobile sing pengin identifier luwih cendhèk tinimbang UUID, aman kanggo URL, lan bisa diurutaké tanpa kolom timestamp kapisah.
  • Administrator basis data sing ngrancang primary key kanggo tabel B‑tree, supaya insert anyar tetep monotonik lan ningkataké kinerja indeks.
  • Arsitek sistem distribusi sing butuh identifier unik ing antarané akèh simpul (nodes) nanging isih bisa diurutaké lan kompak.
  • Perancang API sing pengin public‑facing ID sing angel ditebak nanging gampang diwaca manungsa (ora ana huruf campuran gedhé/cilik, ora ana hyphens sing bisa mbingungaké).
  • Sapa waé sing uwis bosen karo UUID sing dawa banget lan butuh alternatif kanggo tetep duwé ruang 128 bit nanging perwakilané luwih cendhèk.

Pitakonan sing Sering Ditakokaké (FAQ)

Apa ULID bisa diurutaké kanthi wektu?
Ya, 10 karakter pisanan minangka timestamp milidetik, dadi yen diurutaké sacara leksikografis, urutané bakal miturut wektu digawéné. Nanging yen ana ID sing digawé ing milidetik sing padha, urutan antarane ora dijamin.

Apa ULID aman kanggo URL?
Aman. Kabèh karakter ing ULID (0–9, A–Z kajaba I, L, O, U) kalebu karakter unreserved miturut RFC 3986, dadi ora perlu percent‑encoding.

Pira dawa ULID?
26 karakter. Iki luwih cendhèk 10 karakter tinimbang UUID 36 karakter (kalebu 4 hyphens).

Apa ULID padha karo UUID?
Ora persis. ULID uga 128 bit, nanging pamérangané lan cara encodingé béda. ULID luwih cendhèk, tanpa hyphens, lan nggunakake Crockford base32. Dene UUID biasane ditulis ing heksadesimal lan nduweni tanda hubung.

Apa kaca iki nyimpen data ID sing digawé?
Ora. Kabèh générasi ID kedadeyan ing browser sampeyan nganggo crypto.getRandomValues(). Ora ana data sing dikirim menyang server. Status "Generated." lan "Copied all!" mung muncul sacara lokal.

Kena apa ora ana pilihan huruf gedhé/cilik utawa hyphens ing kaca iki?
Amarga ULID pancèn wis case‑insensitive lan tanpa hyphens. Pilihan kasebut ora perlu amarga formaté wis tetep. Sampeyan bisa nyalin ID langsung tanpa kuwatir babagan kapital utawa tanda hubung.


Kaca iki nyedhiyakake cara gampang lan cepet kanggo ngasilake ULID ing antarane 1 nganti 100. Kanthi mangerteni struktur lan watesane, sampeyan bisa milih nggunakake ULID ing proyek sing mbutuhake identifier unik, cendhèk, lan bisa diurutaké miturut wektu.