Crockford-base32 de 26 caracteres, ordenable léxicamente por marca temporal de milisegundo. Generado localmente, nunca se transmite.
Qué hace
Genera
ULIDULIDA 128-bit identifier like a UUID, but timestamp-prefixed and Crockford-base32 encoded — so it sorts by creation time and is shorter to read.
: identificadores de 26 caracteres que combinan una marca de tiempo en milisegundos con 80 bits de aleatoriedad. La herramienta se rellena sola en cuanto carga y vuelve a generar en cada cambio de opción, así siempre hay un resultado en pantalla. Ajusta la Cantidad de 1 a 1.000. Un valor único se muestra en tipografía grande; un lote se muestra como lista. Copiar toma el lote completo. Todo se ejecuta localmente concrypto.getRandomValues.
Cómo usarlo
- Ajusta la Cantidad (1 a 1.000). Los resultados se regeneran al cambiarla.
- Lee el resultado: un valor en tipografía grande, dos o más como lista.
- Pulsa Copiar para llevarte el lote completo.
- Pega cualquier
ULIDULIDA 128-bit identifier like a UUID, but timestamp-prefixed and Crockford-base32 encoded — so it sorts by creation time and is shorter to read.
en Decodificar unULIDULIDA 128-bit identifier like a UUID, but timestamp-prefixed and Crockford-base32 encoded — so it sorts by creation time and is shorter to read.
para inspeccionarlo: la herramienta separa la parte de tiempo de la aleatoriedad y muestra la marca de tiempo en milisegundos y en ISO-8601 UTC. La entrada inválida (longitud errónea, carácter fuera del alfabeto Crockford, o una parte de tiempo por encima del techo de 48 bits) muestra el motivo exacto.
Ejemplos
Un
ULIDULIDA 128-bit identifier like a UUID, but timestamp-prefixed and Crockford-base32 encoded — so it sorts by creation time and is shorter to read.
tiene 26 caracteres. La división es la clave de todo:01ARZ3NDEKTSV4RRFFQ69G5FAV
└──┬──┘└───────┬────────┘
timestamp randomness
(10 chars) (16 chars)
01ARZ3NDEKTSV4RRFFQ69G5FAV: el ejemplo canónico de la especificación01ARZ3NDEK...se ordena antes que01ARZ3NDF...porque 10 caracteres de marca de tiempo encabezan la cadena- Al pegar
01ARZ3NDEKTSV4RRFFQ69G5FAVen el decodificador se lee la marca de tiempo2016-07-30T23:54:10.259Z— el ejemplo canónico de la especificación se generó el 2016-07-30
Cómo funcionan los
ULIDULIDA 128-bit identifier like a UUID, but timestamp-prefixed and Crockford-base32 encoded — so it sorts by creation time and is shorter to read.
Un
ULIDULIDA 128-bit identifier like a UUID, but timestamp-prefixed and Crockford-base32 encoded — so it sorts by creation time and is shorter to read.
son 128 bits, cortados en dos:| Parte | Bits | Caracteres | Contiene |
|---|---|---|---|
| Marca de tiempo | 48 | los 10 primeros | milisegundos desde la época Unix |
| Aleatoriedad | 80 | los 16 últimos | bits aleatorios |
Ambas mitades se codifican en base32 de Crockford: 32 símbolos, 5 bits por carácter. El alfabeto es 0-9 y luego A-Z menos I, L, O, U. Eso hace que los
ULIDULIDA 128-bit identifier like a UUID, but timestamp-prefixed and Crockford-base32 encoded — so it sorts by creation time and is shorter to read.
no distingan mayúsculas de minúsculas y elimina las letras que la gente confunde (I con 1, O con 0). 26 caracteres por 5 bits son 130, así que los 2 bits superiores quedan sin usar.
La marca de tiempo es lo que estás comprando. Ocupa el extremo más significativo del valor, así que el orden de la cadena iguala al orden de creación: ordena una columna de
ULIDULIDA 128-bit identifier like a UUID, but timestamp-prefixed and Crockford-base32 encoded — so it sorts by creation time and is shorter to read.
como texto plano y obtienes el orden de inserción gratis. Compáralo con UUIDv4:| Propiedad | ULIDULIDA 128-bit identifier like a UUID, but timestamp-prefixed and Crockford-base32 encoded — so it sorts by creation time and is shorter to read. |
UUIDv4 |
|---|---|---|
| Caracteres | 26 | 36 (con 4 guiones) |
| Se ordena por fecha de creación | sí, lexicográfico | no - orden totalmente aleatorio |
| Bits aleatorios | 80 | 122 |
UUIDv4 sirve cuando los identificadores solo necesitan ser únicos. Cuando además deben ordenarse - claves de base de datos, registros de eventos, cualquier cosa que pagines - el prefijo de marca de tiempo convierte un escaneo de índice en una lectura de rango. El reloj de milisegundos de 48 bits llega hasta el año 10889, así que no se desbordará en la práctica.
Mismo milisegundo, ULIDULIDA 128-bit identifier like a UUID, but timestamp-prefixed and Crockford-base32 encoded — so it sorts by creation time and is shorter to read.
Buen saber
- Ordenable, no ordenado. Los
ULIDULIDA 128-bit identifier like a UUID, but timestamp-prefixed and Crockford-base32 encoded — so it sorts by creation time and is shorter to read.
se ordenan por milisegundo; dos IDs dentro de un mismo milisegundo no tienen un orden garantizado. - Sin distinción de mayúsculas.
01arz3ndektsv4rrffq69g5favse interpreta como el mismo valor que la forma en mayúsculas. - Privado: se genera localmente en tu navegador. Nada se envía a ningún sitio.
- Herramientas relacionadas:
UUIDUUIDA 128-bit identifier generated to be practically unique without coordination, most commonly in version-4 (fully random) form.
Generator, Token Generator.