Como usar
- Escolha Codificar para transformar texto em z-base-32 ou Decodificar para transformar z-base-32 de volta em texto.
- Mantenha a Variante z-base-32 selecionada e confira se o Preenchimento está desativado, já que o formato não o utiliza.
- Digite ou cole a entrada, ou abra um arquivo. O resultado é atualizado enquanto você digita.
- Copie o resultado ou baixe-o como arquivo.
O que é z-base-32?
O z-base-32 é uma codificação Base32 criada por Zooko Wilcox-O'Hearn para ser mais fácil de ler, escrever e falar. O mecanismo é o mesmo do Base32 da RFC 4648: cada caractere carrega 5 bits e 5 bytes viram 8 caracteres. O que o diferencia é o alfabeto:
ybndrfg8ejkmcpqxot1uwisza345h769
Ele é todo em minúsculas e deixa de fora 0, 2, l e v, que são fáceis de confundir com o, z, 1 e u. Os caracteres também foram reordenados, então a saída z-base-32 não se parece em nada com o Base32 padrão dos mesmos bytes e não pode ser lida por um decodificador RFC 4648.
Não há preenchimento: o comprimento dos dados decorre do comprimento da string. A especificação também permite codificar sequências de bits que não formam bytes inteiros, quando os dois lados combinam o comprimento; esta ferramenta sempre trabalha com bytes inteiros.
Onde o z-base-32 é usado
- OpenPGP Web Key Directory (WKD). Para publicar uma chave em uma URL conhecida (well-known), a parte local do endereço de e-mail é convertida para minúsculas e passa por um hash SHA-1, e o hash de 20 bytes é codificado em z-base-32 como um nome de arquivo de 32 caracteres.
- ZRTP. A string curta de autenticação que dois interlocutores leem em voz alta para detectar um ataque man-in-the-middle pode ser exibida como Base32 com o alfabeto z-base-32 (RFC 6189).
- Lightning Network. Softwares de nó como o lnd e o Core Lightning retornam mensagens assinadas como strings z-base-32.
Para outros formatos amigáveis para pessoas, compare o Crockford Base32, que mantém os dígitos em ordem e perdoa erros de digitação, e o Base58, que é mais curto, mas diferencia maiúsculas de minúsculas.
Especificação
| Alfabeto | ybndrfg8ejkmcpqxot1uwisza345h769 |
|---|---|
| Tamanho da saída | 8 caracteres a cada 5 bytes (160%) |
| Preenchimento | Nenhum |
| Padrão | z-base-32 (Zooko Wilcox-O'Hearn) |
| Diferencia maiúsculas e minúsculas | Não |
Exemplos
| Entrada (UTF-8) | Saída |
|---|---|
Hello, World! | jb1sa5dxfoofq551pt1nn |
Base64.is | ejozg3jsgozg1ha |
你好 | h164b3pfzw |
Perguntas frequentes
O z-base-32 é o mesmo que Base32?
Não. Ele usa o mesmo agrupamento de 5 bits do Base32 da RFC 4648, mas um alfabeto diferente e reordenado, e não tem preenchimento. Uma string z-base-32 precisa ser decodificada com um decodificador z-base-32.
O z-base-32 diferencia maiúsculas de minúsculas?
O alfabeto é em minúsculas e a saída é sempre em minúsculas. Este decodificador também aceita entrada em maiúsculas e a converte para minúsculas antes de decodificar.
E se a minha string terminar com sinais =?
O z-base-32 não usa preenchimento, mas, se uma string terminar com sinais =, o decodificador simplesmente os ignora.
Como obter um hash WKD?
--with-wkd-hash.