Generador de ULID y NanoID
ULID & NanoID Generator
Genera ULID ordenables o NanoID cortos con el alfabeto y la longitud que elijas, y muestra la probabilidad de colisión.
Genera ULID y NanoID, los dos formatos de id corto a los que se recurre cuando un UUID de 36 caracteres es demasiado largo para una URL. También muestra la aritmética de colisiones para la longitud y el alfabeto que elijas, que es la parte que decide si el id es lo bastante corto o demasiado corto.
26 caracteres, ordenables, con una marca de tiempo en milisegundos en los diez primeros.
0 id
Qué probabilidad hay de una colisión
Entropía
80,0 bits
Ids antes de un 1 % de probabilidad
1,56e11
A 1.000 por hora
18 mil años
La cota del cumpleaños: P ≈ 1 − exp(−n²/2N). El número de abajo es donde eso llega al uno por ciento.
Decodificar un ULID
Los ULID siguen la especificación ULID: 48 bits de marca de tiempo en milisegundos y luego 80 bits aleatorios, en base32 de Crockford, que deja fuera la I, la L, la O y la U para que nadie lea mal uno en voz alta.
Cómo se usa
Elige ULID o NanoID
Un ULID son 26 caracteres fijos con una marca de tiempo en milisegundos en los diez primeros, así que se ordena. Un NanoID es de cualquier longitud sobre cualquier alfabeto y es entropía pura: nada en él está ordenado.
Ajusta la longitud y el alfabeto
Para NanoID, el valor por defecto son 21 caracteres sobre 64 símbolos. Un id más corto o un alfabeto más pequeño —digamos, un conjunto sin caracteres confundibles para algo que la gente lee en voz alta— cuesta entropía, y el panel de abajo muestra exactamente cuánta.
Lee la línea de colisiones
Da el número de ids antes de una probabilidad del uno por ciento de alguna colisión, y cuánto tiempo es eso a mil por día. Por debajo de 64 bits de entropía la página lo dice, porque esa es la línea entre un slug de URL y algo que no debe poder adivinarse.
Decodifica un ULID si tienes uno
Pégalo y el panel imprime la hora de creación y la cola aleatoria, útil para averiguar cuándo se creó realmente un registro.
Preguntas frecuentes
¿Un id corto es seguro como enlace secreto?
Solo si su entropía lo dice. Un NanoID de 21 caracteres tiene unos 126 bits y va bien; uno de 10 caracteres tiene alrededor de 60 y lo puede adivinar cualquiera dispuesto a gastar dinero. La página marca todo lo que baje de 64 bits exactamente por esto: un id corto es un id corto, no un secreto.
¿Por qué un alfabeto personalizado sigue saliendo uniforme?
Porque los símbolos se extraen con muestreo por rechazo en lugar de `random % length`. El atajo del módulo sesga cualquier alfabeto cuya longitud no divida a 256: el bug habitual de los generadores de id caseros, e invisible hasta que alguien cuenta.
¿Qué hace Monotónico en un ULID?
Dentro de un mismo milisegundo, los ULID normales quedan en orden aleatorio entre sí. El modo monotónico incrementa el campo aleatorio en lugar de volver a sortearlo, así que una ráfaga generada en el mismo milisegundo sigue ordenándose en el orden en que se creó.
¿Por qué un ULID usa base32 sin I, L, O y U?
Es el alfabeto de Crockford: quita los caracteres que se confunden cuando una persona lee un id en voz alta o lo copia de una pantalla. El precio son 32 símbolos en lugar de 36, y por eso un ULID necesita 26 caracteres donde un NanoID necesita 21.
Puede recibir de
Después
Estas aceptan lo que produce esta herramienta, así que el resultado puede pasar directamente.
Generador de contraseñas
Password Generator
Genera contraseñas aleatorias con las reglas de longitud, conjunto de caracteres y exclusión de caracteres ambiguos que elijas, y por lotes si hace falta.
Generador de claves aleatorias
Random Key Generator
Genera bytes aleatorios criptográficos en hexadecimal, Base64 o Base64URL con la longitud que elijas, para los secretos de una aplicación.
Generador de UUID
UUID Generator
Genera UUID v1, v4, v5 y v7 en lote, y extrae la marca de tiempo de un valor v1 o v7.
Codificador y decodificador Base64
Base64 Encoder & Decoder
Codifica y decodifica Base64 y Base64URL, para texto o archivos, tratando UTF-8 correctamente.
curl a código
curl to Code
Convierte un comando curl en fetch, axios, requests de Python, Go, PHP o PowerShell.
Hash de un texto
Text Hash
Calcula MD5, SHA-1, SHA-256, SHA-384, SHA-512 y CRC-32 de una cadena, con salida opcional en mayúsculas o en Base64.