Validador de Base32 Hex
Verifica se uma string usa apenas o alfabeto Base32-Hex (0-9, A-V). Variante usada em DNS e padrão RFC 4648.
Base32hex (RFC 4648 §7): o alfabeto Base32 que preserva ordem
O Base32hex — também chamado de Base32 "extended hex" — é a variante de Base32 definida na RFC 4648 §7. Usa o alfabeto 0–9 e depois A–V (32 símbolos), uma extensão direta do 0–F do hexadecimal. Esta ferramenta confere que uma string contém apenas caracteres Base32hex válidos (após remover o padding = e converter para maiúsculas).
Sua propriedade marcante é que a ordem codificada bate com a ordem binária: como os símbolos são atribuídos em valor crescente (0=0, …, V=31), ordenar strings Base32hex lexicograficamente também ordena os bytes subjacentes. É exatamente por isso que o NSEC3 do DNSSEC usa Base32hex para nomes de proprietário com hash.
Base32hex vs Base32 padrão
- Base32 padrão (RFC 4648 §6): alfabeto
A–Ze depois2–7. Comum, mas não preserva ordem. - Base32hex (§7): alfabeto
0–9e depoisA–V. Preserva ordem, amigável ao hex. - Mesma matemática, tabela diferente: ambos empacotam 5 bits por símbolo; só muda o mapeamento símbolo-valor.
Onde aparece
- NSEC3 do DNSSEC: nomes com hash são codificados em Base32hex justamente pela ordenabilidade.
- IDs ordenáveis: timestamps/chaves onde a ordem lexical precisa igualar a ordem cronológica/de bytes.
- Transporte insensível a caixa: como todo Base32, sobrevive a sistemas que não preservam caixa.
- Mock data / testes: validar que um token é Base32hex bem-formado antes de decodificar.
Pegadinhas
- Não misture alfabetos: uma string Base32 padrão jogada num decoder Base32hex produz lixo —
W–Zexistem na §6 mas não na §7. - Padding: o
=completa o bloco final até um múltiplo de 8 símbolos; remova-o antes de validar caracteres, como esta ferramenta faz. - O comprimento precisa ser válido: comprimentos de Base32 vêm em resíduos fixos (8,16,32…); um comprimento estranho sinaliza truncamento.
- Formato ≠ decodificável: caracteres válidos não garantem que a quantidade de bits feche em bytes inteiros.
FAQ
Por que o Base32hex preserva a ordem? Seus símbolos crescem em valor por todo o alfabeto (0 < 1 < … < V), então a ordem de ordenação ASCII iguala a ordem de valor numérico.
É o mesmo que o Base32 de Crockford? Não. O Crockford também começa em 0–9 mas pula I, L, O, U por legibilidade; o Base32hex usa um 0–V contíguo estrito.
É sensível a maiúsculas? Não — o Base32 da RFC 4648 é insensível a caixa; maiúsculas são a forma canônica.
Ferramentas Relacionadas
Validador de Base32 Crockford
Verifica se uma string usa apenas o alfabeto Base32 Crockford (omite I, L, O, U para evitar ambiguidade). Comum em IDs human-readable.
Validador de Cor Hexadecimal
Valide cores hex no formato #RGB, #RGBA, #RRGGBB ou #RRGGBBAA e converta entre eles. Tudo no navegador.
Validador de Base32
Verifica se uma string é Base32 válida (RFC 4648). Aceita padding =. Mostra tamanho do payload em bytes.