Ferramenta para codificar e decodificar Base64

BeetVPN

Conversor Base64:

Como o nome sugere, Base64 é uma forma de representar dados na base 64. Em vez de contar de 1 a 10 ou 16, usa-se um alfabeto com 64 caracteres. Um 65º caractere é usado para encerrar sequências Base64: o sinal “=”. O alfabeto Base64 inclui letras minúsculas, maiúsculas, números e os sinais “+” e “/”, totalizando 64 caracteres diferentes. O Base64 usa uma representação binária de 6 bits, permitindo 64 estados distintos.

Para converter texto em Base64, primeiro o dividimos em “blocos” de 24 bits (3 bytes). Depois, atribuímos um valor Base64 a cada grupo de 6 bits. Por exemplo, para a palavra “md5”:

ASCII: m d 5
Binary: |011011 01|0110 0100|00 110101|
Base 64: b W Q 1

Assim, a representação Base64 da palavra “md5” é “bWQ1”.

O que acontece quando a quantidade de bits não é exatamente múltipla de 6 ao formar os blocos de 24 bits? Os bits que faltam são preenchidos com zeros. Por exemplo, em “sha1”, as três primeiras letras “sha” são processadas e sobra um byte, que não é múltiplo de 6. Acrescentam-se então quatro bits “0” (8 + 4 = 6 × 2 = 12 bits) e, em seguida, dois sinais “=” para representar os dois caracteres ausentes até completar o bloco de 24 bits.

Isso permite saber, olhando uma sequência Base64, se o último bloco continha 1, 2 ou 3 bytes. Se havia 3 bytes, a quantidade de bits já é múltipla de 6 e não é necessário adicionar “=”. Se restar apenas um byte, são acrescentados dois sinais “=”; se restarem dois bytes, acrescenta-se um.