No dia a dia como desenvolvedor de software você ja deve ter se deparado com algum grau da cifra de César.
O Base64 é uma representação de dados binários baseada em 64 caracteres imprimíveis.
De modo geral, os 64 caracteres incluem A-Z
, a-z
, 0-9
, +
, /
, e =
. Em outras palavras, Base64 pode converter dados binários nesses 64 caracteres para representação. A fonte de dados pode ser uma imagem ou qualquer string.
O Base64 é uma da opções mais populares para converter dados binários sem perdas.
O processo de conversão é bem muito simples.
- Obtém uma cópia dos dados binários
- Divide os dados binários em grupos de 6 bits e executa o preenchimento de bits apropriado.
- De acordo com a tabela de índice Base64, converte cada conjunto de dados em caracteres correspondentes à tabela matriz e usa
=
para preencher a posição.
Base62
Em cenários de transmissão de dados através de URL, os dados codificados por Base64 causarão problemas, os caracteres (+
, /
, e =
) podem interferir na interpretação errônea desses caracteres como delimitadores de partes da URL, causando erros ou problemas de acesso.
Portanto, no Base62, os caracteres (+
, /
, e =
) são removidos. Neste ponto, você pode pensar que isso é tudo. Base62 apenas perde alguns caracteres inseguros e o restante dos métodos de conversão são iguais aos do Base64.
Quando algo é codificado em Base62, o processo de codificação é o seguinte:
- Obtém uma cópia dos dados binários
- Converte dados binários em decimais
- Converte o decimal em hexadecimal (de acordo com a tabela de índices)
Base64UrlSafe
Outra forma de resolver o problema do Base64 em URLs, é a utilização do popular método “URL-safe Base64 encoding”.
É a forma mais fácil de suprimir-lo, basta substituir os caracteres especiais da Base64 que podem causar conflitos por outros caracteres seguros para URLs, como -
, _
, e também não usar o caractere de preenchimento =
, dependendo do contexto e dos requisitos de compatibilidade do sistema.
Essa técnica garante que a codificação Base64 possa ser incorporada em URLs sem causar conflitos.
Seja o primeiro a comentar