Generator ULID
Identificatori unici care se sortează în ordinea creării: 26 de caractere, ușor de citit, fără litere care se confundă.
Cum e făcut un ULID
Primele 10 caractere sunt momentul creării, în milisecunde de timp Unix (48 de biți); următoarele 16 sunt 80 de biți aleatori. Totul e scris în Base32-ul lui Crockford, un alfabet fără I, L, O și U, ca să nu se confunde la citire. Așa spune specificația ULID (github.com/ulid/spec).
Pentru că timpul e la început, ULID-urile sortate alfabetic ies în ordinea în care au fost create, ceea ce le face potrivite drept chei într-o bază de date sau nume de fișiere.
În ordine strictă
Cu În ordine strictă bifată, ULID-urile din aceeași milisecundă nu primesc fiecare alt număr aleatoriu: partea aleatoare crește cu unu de la unul la altul, cum descrie specificația la „Monotonicity”. Fără bifă, fiecare are biți aleatori proprii, iar ordinea în cadrul aceleiași milisecunde nu e garantată.
Nimic nu pleacă din browser
ULID-urile sunt generate în browserul tău, cu generatorul criptografic al acestuia; nu sunt cerute de la un server și nu sunt păstrate nicăieri.
Întrebări frecvente
ULID sau UUID v7?
Amândouă pun timpul la început și se sortează după el. Un UUID v7 are forma standard de UUID, cu cratime (36 de caractere); un ULID e mai scurt de scris (26 de caractere în loc de 36).
Până când merge?
Cei 48 de biți de timp ajung până în anul 10889, după specificație.