Gerador de ULID
Gerar ULIDs (Identificadores Lexicograficamente Classificáveis Universalmente Únicos). 26 caracteres, seguros para URL, classificáveis por tempo e compatíveis com UUIDs.
Gerar ULID
Criar identificadores exclusivos classificáveis
ULIDs gerados
Clique em "Gerar ULIDs" para criar identificadores exclusivos
Perguntas frequentes
What is a ULID?
Um identificador de 26 caracteres que combina um carimbo de data/hora em milissegundos de 48 bits e 80 bits de aleatoriedade, permitindo que os IDs sejam ordenados pela hora de criação.
Porquê escolher ULID em vez de UUID?
Os ULIDs são ordenados lexicograficamente por tempo, são mais curtos e utilizam base32 Crockford seguro para URL, sem hífenes para gerir.
Can I trust the ordering?
Em milissegundos diferentes, sim. Dentro do mesmo milissegundo, a ordem entre dois ULIDs não é garantida.
Os ULIDs funcionam onde os UUIDs são utilizados?
Funcionam diretamente na maioria das colunas de texto e APIs, e converter entre ULID e UUID é simples quando ambos os formatos têm de coexistir.
Qual é o comprimento de um ULID e que caracteres utiliza?
Cada ULID tem exatamente 26 caracteres, utilizando Crockford Base32, que inclui os dígitos 0-9 e as letras A-Z, exceto I, L, O e U. Este comprimento fixo mantém os tamanhos das colunas da base de dados previsíveis e evita caracteres ambíguos quando os IDs são lidos em voz alta ou introduzidos manualmente.
Os ULIDs são seguros para utilizar em URLs e nomes de ficheiros?
Sim. Os ULIDs contêm apenas letras maiúsculas e dígitos, sem hífenes, barras ou símbolos, pelo que passam por URLs, segmentos de caminho e nomes de ficheiros sem codificação percentual. O comprimento de 26 caracteres também se ajusta confortavelmente a padrões de rotas e a linhas de registo.
Quantos ULIDs podem ser gerados no mesmo milissegundo?
A secção aleatória de 80 bits fornece cerca de 2^80 valores por milissegundo, tornando as colisões praticamente impossíveis. Se a sua aplicação criar vários IDs dentro do mesmo milissegundo, utilize o modo monotónico, que incrementa a parte aleatória em uma unidade, de modo a preservar a ordenação.
Como ler o carimbo de data/hora de um ULID?
Os primeiros 10 caracteres codificam o carimbo de data/hora Unix em milissegundos, enquanto os restantes 16 caracteres são aleatórios. Descodifique esses 10 caracteres de Crockford Base32 para um número e, em seguida, converta-o com qualquer ferramenta de carimbos de data/hora Unix para obter a hora exata de criação.
Estrutura ULID
Cada ULID consiste em duas partes: timestamp e aleatoriedade
01ARZ3NDEKTSV4RRFFQ69G5FAV
Exemplo: este ULID foi gerado em um milissegundo específico e inclui 80 bits de aleatoriedade
Carimbo de tempo (48 bits)
Milissegundos desde a época Unix (01/01/1970). Fornece classificação ordenada por tempo e dura até 10889 DC.
Aleatoriedade (80 bits)
Valor aleatório criptograficamente seguro. Fornece 1,21 quintilhão de IDs exclusivos por milissegundo.
Especificações técnicas
ULID foi projetado para ser classificável, seguro para URL e compatível com UUIDs
Recursos
- Aleatoriedade criptograficamente segura
- Somente geração do lado do cliente
- Classificável lexicograficamente
- Sem caracteres especiais (seguro para URL)
Especificações
- 26 caracteres (128 bits)
- Codificação Base32 de Crockford
- carimbo de data e hora de 48 bits + aleatoriedade de 80 bits
- 1,21 milhões de IDs por milissegundo
Referências e recursos
-
ULID Specification - GitHub
A especificação ULID ordenável — identificadores únicos com prefixo de timestamp.
-
Universally Unique Identifier - Wikipedia
Referência geral sobre identificadores universalmente únicos e suas variantes.