Como decodificar Base64 online (e o que o resultado significa)
Você tem uma sequência de letras e números aparentemente aleatórios, talvez terminando com um ou dois sinais de igual, e precisa saber o que ela diz. É quase certo que seja Base64, e sua decodificação revela o texto ou dados originais. Veja como decodificar Base64, o que o resultado informa e as duas variantes que causam falha nos decodificadores.
Como decodificá-lo
A decodificação Base64 é instantânea: cole a string codificada em um decodificador e ele a converte de volta ao texto original. Base64 é totalmente reversível, é uma codificação, não uma criptografia, portanto nenhuma chave é necessária e qualquer pessoa pode decodificar qualquer string Base64 em um segundo. Se o resultado for um texto legível, você tem sua resposta. Se o resultado parecer lixo binário, os dados originais não eram texto, podem ter sido uma imagem, um arquivo ou dados criptografados que foram codificados em Base64; nesse caso, os bytes decodificados não devem ser lidos como texto.
Por que você precisaria decodificar Base64
Base64 aparece em muitos lugares que você pode precisar inspecionar. O cabeçalho e a carga útil de um token de autenticação JWT são codificados em Base64 e decodificá-los revela as declarações internas. As credenciais de autenticação básica HTTP são Base64 no cabeçalho de autorização. URLs de dados incorporam imagens codificadas em Base64. A origem do email mostra anexos codificados em Base64. Arquivos de configuração e respostas de API às vezes carregam dados Base64. Quando você está depurando qualquer um deles, a decodificação permite ver o que realmente está lá, em vez de uma parede de caracteres codificados.
A pegadinha do Unicode
Se o seu texto decodificado sair ilegível onde deveria haver acentos ou caracteres que não sejam do inglês, o problema é o tratamento do Unicode. Base64 codifica bytes, e o texto deve primeiro ser transformado em bytes por meio de uma codificação como UTF-8. Um decodificador que assume ASCII simples irá deturpar letras acentuadas, emoji e scripts não latinos. Um decodificador adequado interpreta os bytes como UTF-8, então "café" e "こんにちは" decodificam corretamente. Se você vir mojibake, caracteres ilegíveis, o codificador ou decodificador administrou incorretamente a etapa Unicode.
A variante segura para URL
Se um decodificador rejeitar sua string ou produzir uma saída errada, pode ser Base64url, a variante segura para URL. Base64 padrão usa caracteres + e /, mas eles causam problemas em URLs, então Base64url substitui + por - e / por _ e geralmente elimina o preenchimento =. JWTs usam essa variante. Um decodificador padrão estrito pode engasgar com - e _ ou com falta de preenchimento. A correção é converter - de volta para +, _ de volta para / e restaurar o preenchimento antes da decodificação ou usar uma ferramenta que lide com ambas as variantes automaticamente.
Lembre-se: decodificação não é descriptografia
Um ponto importante. A decodificação Base64 revela tudo o que foi codificado, sem necessidade de chave, o que significa que Base64 não oferece segurança alguma. Se você pode decodificá-lo, qualquer outra pessoa também pode. É por isso que você nunca deve armazenar senhas ou segredos como Base64 pensando que estão ocultos; eles são trivialmente legíveis. A decodificação de uma carga JWT mostra as declarações, mas não verifica o token, o que requer a verificação da assinatura com uma chave secreta, uma etapa separada. Base64 trata de representação, nunca de proteção.