1001Ferramentas
🔢Validadores

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–Z e depois 2–7. Comum, mas não preserva ordem.
  • Base32hex (§7): alfabeto 0–9 e depois A–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–Z existem 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