Base64 x Base62 x Base64UrlSafe

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.

Sobre Nicolau 37 Artigos
Fuçando o desenvolvimento de software desde 2013, sou da turma do código aberto, vivo pesquisando e garimpando a segurança na web. Sommelier de sucos e chocólatra de carteirinha. Hic svnt dracones.

Seja o primeiro a comentar

Faça um comentário

Seu e-mail não será divulgado.


*