logo

Codificação e decodificação Java Base64

Java fornece uma classe Base64 para lidar com criptografia. Você pode criptografar e descriptografar seus dados usando os métodos fornecidos. Você precisa importar java.util.Base64 em seu arquivo de origem para usar seus métodos.

Esta classe fornece três codificadores e decodificadores diferentes para criptografar informações em cada nível. Você pode usar esses métodos nos níveis a seguir.


Codificação e decodificação básicas

Ele usa o alfabeto Base64 especificado por Java em RFC 4648 e RFC 2045 para operações de codificação e decodificação. O codificador não adiciona nenhum caractere separador de linha. O decodificador rejeita dados que contenham caracteres fora do alfabeto base64.


Codificação e decodificação de URL e nome de arquivo

Ele usa o alfabeto Base64 especificado por Java na RFC 4648 para operações de codificação e decodificação. O codificador não adiciona nenhum caractere separador de linha. O decodificador rejeita dados que contenham caracteres fora do alfabeto base64.


MIME

Ele usa o alfabeto Base64 conforme especificado na RFC 2045 para operações de codificação e decodificação. A saída codificada deve ser representada em linhas com no máximo 76 caracteres cada e usa um retorno de carro ' ' seguido imediatamente por um avanço de linha ' ' como separador de linha. Nenhum separador de linha é adicionado ao final da saída codificada. Todos os separadores de linha ou outros caracteres não encontrados na tabela alfabética base64 são ignorados na operação de decodificação.


Classes aninhadas de Base64

Aula Descrição
Base64.Decodificador Esta classe implementa um decodificador para decodificar dados de bytes usando o esquema de codificação Base64 conforme especificado em RFC 4648 e RFC 2045.
Base64.Encoder Esta classe implementa um codificador para codificação de dados de bytes usando o esquema de codificação Base64 conforme especificado em RFC 4648 e RFC 2045.

Métodos Base64

Métodos Descrição
público estático Base64.Decoder getDecoder() Ele retorna um Base64.Decoder que decodifica usando o esquema de codificação base64 do tipo Basic.
público estático Base64.Encoder getEncoder() Ele retorna um Base64.Encoder que codifica usando o esquema de codificação base64 do tipo Basic.
público estático Base64.Decoder getUrlDecoder() Ele retorna um Base64.Decoder que decodifica usando o esquema de codificação base64 de tipo seguro de URL e nome de arquivo.
público estático Base64.Decoder getMimeDecoder() Ele retorna um Base64.Decoder que decodifica usando o esquema de decodificação base64 do tipo MIME.
público estático Base64.Encoder getMimeEncoder() Ele retorna um Base64.Encoder que codifica usando o esquema de codificação base64 do tipo MIME.
public static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator) Ele retorna um Base64.Encoder que codifica usando o esquema de codificação base64 do tipo MIME com comprimento de linha e separadores de linha especificados.
público estático Base64.Encoder getUrlEncoder() Ele retorna um Base64.Encoder que codifica usando o esquema de codificação base64 de tipo seguro de URL e nome de arquivo.

Métodos Base64.Decoder

Métodos Descrição
byte público[] decodificação(byte[] src) Ele decodifica todos os bytes da matriz de bytes de entrada usando o esquema de codificação Base64, gravando os resultados em uma matriz de bytes de saída recém-alocada. A matriz de bytes retornada tem o comprimento dos bytes resultantes.
byte público[] decodificação (String src) Ele decodifica uma String codificada em Base64 em uma matriz de bytes recém-alocada usando o esquema de codificação Base64.
decodificação int pública (byte[] src, byte[] dst) Ele decodifica todos os bytes da matriz de bytes de entrada usando o esquema de codificação Base64, gravando os resultados na matriz de bytes de saída fornecida, começando no deslocamento 0.
decodificação pública de ByteBuffer (buffer ByteBuffer) Ele decodifica todos os bytes do buffer de bytes de entrada usando o esquema de codificação Base64, gravando os resultados em um ByteBuffer recém-alocado.
wrap InputStream público (InputStream é) Ele retorna um fluxo de entrada para decodificar o fluxo de bytes codificados em Base64.

Métodos Base64.Encoder

Métodos Descrição
codificação de byte público[](byte[] src) Ele codifica todos os bytes da matriz de bytes especificada em uma matriz de bytes recém-alocada usando o esquema de codificação Base64. A matriz de bytes retornada tem o comprimento dos bytes resultantes.
codificação int pública (byte[] src, byte[] dst) Ele codifica todos os bytes da matriz de bytes especificada usando o esquema de codificação Base64, gravando os bytes resultantes na matriz de bytes de saída fornecida, começando no deslocamento 0.
String pública encodeToString(byte[] src) Ele codifica a matriz de bytes especificada em uma String usando o esquema de codificação Base64.
codificação ByteBuffer pública (buffer ByteBuffer) Ele codifica todos os bytes restantes do buffer de bytes especificado em um ByteBuffer recém-alocado usando o esquema de codificação Base64. Ao retornar, a posição do buffer de origem será atualizada até o seu limite; seu limite não terá sido alterado. A posição do buffer de saída retornado será zero e seu limite será o número de bytes codificados resultantes.
envoltório OutputStream público (OutputStream os) Ele envolve um fluxo de saída para codificação de dados de bytes usando o esquema de codificação Base64.
Base64.Encoder público semPadding() Ele retorna uma instância do codificador que codifica de forma equivalente a esta, mas sem adicionar nenhum caractere de preenchimento no final dos dados do byte codificado.

Exemplo Java Base64: codificação e decodificação básicas

 import java.util.Base64; publicclass Base64BasicEncryptionExample { publicstaticvoid main(String[] args) { // Getting encoder Base64.Encoder encoder = Base64.getEncoder(); // Creating byte array bytebyteArr[] = {1,2}; // encoding byte array bytebyteArr2[] = encoder.encode(byteArr); System.out.println('Encoded byte array: '+byteArr2); bytebyteArr3[] = newbyte[5]; // Make sure it has enough size to store copied bytes intx = encoder.encode(byteArr,byteArr3); // Returns number of bytes written System.out.println('Encoded byte array written to another array: '+byteArr3); System.out.println('Number of bytes written: '+x); // Encoding string String str = encoder.encodeToString('JavaTpoint'.getBytes()); System.out.println('Encoded string: '+str); // Getting decoder Base64.Decoder decoder = Base64.getDecoder(); // Decoding string String dStr = new String(decoder.decode(str)); System.out.println('Decoded string: '+dStr); } } 

Saída:

 Encoded byte array: [B@6bc7c054 Encoded byte array written to another array: [B@232204a1 Number of bytes written: 4 Encoded string: SmF2YVRwb2ludA== Decoded string: JavaTpoint 

Exemplo Java Base64: codificação e decodificação de URL

 import java.util.Base64; publicclass Base64BasicEncryptionExample { publicstaticvoid main(String[] args) { // Getting encoder Base64.Encoder encoder = Base64.getUrlEncoder(); // Encoding URL String eStr = encoder.encodeToString('http://www.javatpoint.com/java-tutorial/'.getBytes()); System.out.println('Encoded URL: '+eStr); // Getting decoder Base64.Decoder decoder = Base64.getUrlDecoder(); // Decoding URl String dStr = new String(decoder.decode(eStr)); System.out.println('Decoded URL: '+dStr); } } 

Saída:

algoritmo k-nn
 Encoded URL: aHR0cDovL3d3dy5qYXZhdHBvaW50LmNvbS9qYXZhLXR1dG9yaWFsLw== Decoded URL: http://www.javatpoint.com/java-tutorial/ 

Exemplo Java Base64: codificação e decodificação MIME

 package Base64Encryption; import java.util.Base64; publicclass Base64BasicEncryptionExample { publicstaticvoid main(String[] args) { // Getting MIME encoder Base64.Encoder encoder = Base64.getMimeEncoder(); String message = 'Hello, 
You are informed regarding your inconsistency of work'; String eStr = encoder.encodeToString(message.getBytes()); System.out.println('Encoded MIME message: '+eStr); // Getting MIME decoder Base64.Decoder decoder = Base64.getMimeDecoder(); // Decoding MIME encoded message String dStr = new String(decoder.decode(eStr)); System.out.println('Decoded message: '+dStr); } } 

Saída:

 Encoded MIME message: SGVsbG8sIApZb3UgYXJlIGluZm9ybWVkIHJlZ2FyZGluZyB5b3VyIGluY29uc2lzdGVuY3kgb2Yg d29yaw== Decoded message: Hello, You are informed regarding your inconsistency of work