Agrupadas pela situação, não pelo formato
Esta categoria não é bem um tema, e sim uma gaveta. As ferramentas nela são as pequenas conversões de que você precisa enquanto a tarefa real é outra coisa, por isso estão listadas aqui pela situação em que você se encontra quando recorre a elas.
“Há uma string opaca neste log e não sei o que é.”
Se ela se parecer com 550e8400-e29b-41d4-a716-446655440000, o
decodificador de UUID informa a versão e, para
v1, v6 e v7, a data em que foi criado. Se se parecer com SGVsbG8= ou
terminar em ==, é Base64 —
decodifique. Se for um número simples de
dez dígitos começando por 17, é um
timestamp Unix de aproximadamente
agora.
“Preciso de um ID.” O gerador de UUID produz v1 e v3 a v7, e gera milhares de uma vez para popular um banco de dados de teste.
“Este timestamp está errado por um fator de mil.” Segundos ou milissegundos — o conversor de timestamps trata dos dois e mostra qual deles você recebeu.
“Preciso deste data URI como um arquivo real.” Ou o inverso: Base64 para imagem.
“Que cor é exatamente esta?” O seletor de cores para converter entre notações, o seletor de cores de imagem para ler um valor de uma captura de tela ou de um mockup.
“Isto precisa estar em snake_case e está em camelCase.” Conversor de maiúsculas/minúsculas.
“Quanto é 0xDEADBEEF em decimal, e o que acontece se for com sinal?” Conversor de sistemas numéricos, que, ao contrário da maioria, trata de negativos e de complemento de dois.
Os identificadores revelam mais do que as pessoas esperam
A coisa transversal que vale a pena dizer aqui, porque nenhuma página de ferramenta isolada a assume: vários destes formatos carregam informação que você não pretendia publicar.
O UUID v1 incorpora um timestamp e o endereço MAC da máquina. Essa foi a concepção original — a unicidade garantida por “esta máquina, neste momento”. Também significa que um UUID v1 em uma URL pública diz a qualquer pessoa interessada exatamente quando o registro foi criado e lhe dá um identificador estável para o servidor que o criou. Você mesmo pode confirmar isso colando um no decodificador.
O UUID v7 também incorpora um timestamp Unix, deliberadamente, porque ordenar por ID e ordenar por data de criação serem a mesma coisa é extremamente útil para a localidade do índice do banco de dados. O custo é a mesma exposição: os IDs v7 são ordenados, por isso expô-los publicamente revela datas de criação e permite que alguém estime quantos registros você cria por hora observando dois deles.
A v4 é a que não revela nada — 122 bits de aleatoriedade e nenhuma estrutura. É por isso que continua sendo o padrão para tudo o que seja visível ao usuário, e por que “use v7 para a chave primária, v4 para o identificador público” é uma regra razoável para a mesma tabela.
O Base64 revela tudo, instantaneamente, a qualquer pessoa. Não é ofuscação. Um secret do Kubernetes é codificado em Base64 para que valores binários sobrevivam ao YAML, não para protegê-los.
Tudo nesta página funciona localmente, o que para esta categoria importa mais do que na maioria: identificadores de produção, tokens e fragmentos de log são exatamente o tipo de coisa que não deveria ser colado no servidor de outra pessoa para ser decodificado.