Gerador de KSUID

Generator

Gere K-Sortable Unique Identifiers (KSUID) — IDs base62 de 27 caracteres com um timestamp ordenável embutido. Funciona inteiramente no seu navegador.

Opções
KSUIDs
Clique em Gerar para criar um ou mais KSUIDs

Sobre esta ferramenta

Sobre o Gerador de KSUID

KSUID (K-Sortable Unique Identifier) é um formato de identificador criado pela Segment que combina um timestamp com bits aleatórios para que IDs gerados depois sempre ordenem após IDs gerados antes — útil para logs de eventos, chaves de banco de dados, e qualquer coisa que se beneficie de ordenação aproximadamente cronológica sem um contador central. Um KSUID tem 160 bits no total: um timestamp de 32 bits (segundos desde uma época personalizada de 13/05/2014) seguido de 128 bits de aleatoriedade, codificado como 27 caracteres base62.

Este gerador empacota a hora atual (ou seu timestamp personalizado) em 4 bytes, gera 16 bytes criptograficamente aleatórios, concatena-os em um payload de 20 bytes, e codifica o resultado como base62 (dígitos, depois maiúsculas, depois minúsculas), preenchendo à esquerda até exatamente 27 caracteres. Cada KSUID gerado é decodificado de volta para mostrar seu timestamp embutido e hexadecimal aleatório, para que você possa confirmar que a codificação funciona corretamente em ambos os sentidos.

Use isto para gerar KSUIDs de teste para sistemas de rastreamento de eventos, logs somente-anexação, ou qualquer esquema de banco de dados que use KSUIDs como chaves primárias, para entender como o timestamp é embutido no ID, ou para gerar um lote de IDs ordenáveis com aparência realista para dados de exemplo.

Geração instantânea totalmente no seu navegador, usando bytes criptograficamente aleatórios para a parte que não é o timestamp. Como o timestamp é embutido diretamente no ID, KSUIDs gerados depois sempre ordenarão lexicograficamente após os gerados antes — sem necessidade de coordenação entre servidores.

Recursos Principais

  • Gera de 1 a 1.000 KSUIDs de uma vez
  • Sempre exatamente 27 caracteres base62, preenchidos com zeros
  • Mostra o timestamp decodificado e o hexadecimal aleatório de cada KSUID gerado
  • K-ordenável — IDs gerados depois sempre ordenam após os gerados antes
  • Copiar com um clique para IDs individuais ou todo o lote
  • 100% baseado no navegador, nenhum dado é transmitido

FAQ

Gerador de KSUID — Perguntas Frequentes

O que é um KSUID?

KSUID significa K-Sortable Unique Identifier, criado pela empresa de análise de dados Segment. Ele embute um timestamp diretamente no ID, então os IDs ordenam cronologicamente quando ordenados como strings simples — sem precisar de uma coluna auto-incremento de banco de dados ou coordenação entre múltiplos servidores gerando IDs simultaneamente.

Por que o KSUID usa uma época personalizada em vez da época Unix?

A época personalizada (1.400.000.000 segundos Unix, ou 13/05/2014) desloca a faixa de timestamp utilizável para frente. Como o timestamp tem apenas 32 bits, começar pela época Unix (1970) esgotaria a faixa décadas antes do que começar por uma data mais recente — a época personalizada estende até quando no futuro os KSUIDs permanecem válidos.

KSUID vs ULID vs UUID v7 — qual é a diferença?

Todos os três embutem um timestamp para ordenação, mas diferem em detalhes: KSUID usa um timestamp de 32 bits com precisão de segundo e 128 bits de aleatoriedade, codificado como base62 (27 caracteres). ULID usa um timestamp de 48 bits com precisão de milissegundo e 80 bits de aleatoriedade, codificado como base32 Crockford (26 caracteres). UUID v7 usa um timestamp de 48 bits com precisão de milissegundo e 74 bits de aleatoriedade dentro do formato hexadecimal UUID padrão. ULID e UUID v7 oferecem precisão de milissegundo; KSUID oferece apenas precisão de segundo, mas tem mais bits aleatórios.

Posso decodificar o timestamp de volta a partir de um KSUID?

Sim — este gerador mostra o timestamp decodificado e o hexadecimal aleatório logo ao lado de cada KSUID gerado, já que a codificação é totalmente reversível: decodifique a string base62 de volta para 20 bytes, e os primeiros 4 bytes são o deslocamento do timestamp em relação à época do KSUID.

Dicas

  • KSUIDs ordenam corretamente como strings simples — não é necessário analisá-los primeiro se você só precisa de ordenação cronológica
  • O timestamp só tem precisão de segundo — se você gerar muitos KSUIDs dentro do mesmo segundo, a parte aleatória (não o timestamp) determina sua ordem relativa
  • Gere um lote de 1.000 de uma vez se precisar de dados de exemplo com aparência realista para um banco de dados que usa KSUID como chave primária
  • Este gerador nunca envia nada para um servidor — todo KSUID é construído inteiramente no seu navegador

Explore more

Ferramentas Relacionadas

Outras ferramentas que podem ser úteis para seu fluxo de trabalho