logo

Encodage et décodage Java Base64

Java fournit une classe Base64 pour gérer le chiffrement. Vous pouvez crypter et décrypter vos données en utilisant les méthodes fournies. Vous devez importer java.util.Base64 dans votre fichier source pour utiliser ses méthodes.

Cette classe fournit trois encodeurs et décodeurs différents pour crypter les informations à chaque niveau. Vous pouvez utiliser ces méthodes aux niveaux suivants.


Encodage et décodage de base

Il utilise l'alphabet Base64 spécifié par Java dans les RFC 4648 et RFC 2045 pour les opérations de codage et de décodage. L'encodeur n'ajoute aucun caractère séparateur de ligne. Le décodeur rejette les données contenant des caractères en dehors de l'alphabet base64.


Encodage et décodage d'URL et de noms de fichiers

Il utilise l'alphabet Base64 spécifié par Java dans la RFC 4648 pour les opérations de codage et de décodage. L'encodeur n'ajoute aucun caractère séparateur de ligne. Le décodeur rejette les données contenant des caractères en dehors de l'alphabet base64.

gimp remplacer la couleur

MIME

Il utilise l'alphabet Base64 tel que spécifié dans la RFC 2045 pour les opérations de codage et de décodage. La sortie codée doit être représentée par des lignes de 76 caractères maximum chacune et utilise un retour chariot «   » suivi immédiatement d'un saut de ligne «   » comme séparateur de ligne. Aucun séparateur de ligne n’est ajouté à la fin de la sortie codée. Tous les séparateurs de ligne ou autres caractères introuvables dans la table alphabétique base64 sont ignorés lors de l'opération de décodage.

durée Java

Classes imbriquées de Base64

Classe Description
Base64.Décodeur Cette classe implémente un décodeur pour décoder les données d'octets à l'aide du schéma de codage Base64 tel que spécifié dans les RFC 4648 et RFC 2045.
Base64.Encodeur Cette classe implémente un encodeur pour coder les données d'octets à l'aide du schéma de codage Base64 tel que spécifié dans les RFC 4648 et RFC 2045.

Méthodes Base64

Méthodes Description
public statique Base64.Decoder getDecoder() Il renvoie un Base64.Decoder qui décode à l’aide du schéma de codage base64 de type Basic.
public statique Base64.Encoder getEncoder() Il renvoie un Base64.Encoder qui code en utilisant le schéma de codage base64 de type Basic.
public statique Base64.Decoder getUrlDecoder() Il renvoie un Base64.Decoder qui décode à l'aide du schéma de codage base64 de type sécurisé URL et nom de fichier.
public statique Base64.Decoder getMimeDecoder() Il renvoie un Base64.Decoder qui décode à l'aide du schéma de décodage base64 de type MIME.
public statique Base64.Encoder getMimeEncoder() Il renvoie un Base64.Encoder qui code en utilisant le schéma de codage base64 de type MIME.
public static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator) Il renvoie un Base64.Encoder qui code à l'aide du schéma de codage base64 de type MIME avec une longueur de ligne et des séparateurs de ligne spécifiés.
public statique Base64.Encoder getUrlEncoder() Il renvoie un Base64.Encoder qui code en utilisant le schéma de codage base64 de type sécurisé URL et nom de fichier.

Méthodes Base64.Decoder

Méthodes Description
octet public[] décoder (octet[] src) Il décode tous les octets du tableau d'octets d'entrée à l'aide du schéma de codage Base64, en écrivant les résultats dans un tableau d'octets de sortie nouvellement alloué. Le tableau d'octets renvoyé a la longueur des octets résultants.
décodage d'octet public [] (String src) Il décode une chaîne codée en Base64 en un tableau d'octets nouvellement alloué à l'aide du schéma de codage Base64.
décodage public int (octet [] src, octet [] dst) Il décode tous les octets du tableau d'octets d'entrée à l'aide du schéma de codage Base64, en écrivant les résultats dans le tableau d'octets de sortie donné, en commençant au décalage 0.
décodage public ByteBuffer (tampon ByteBuffer) Il décode tous les octets du tampon d'octets d'entrée à l'aide du schéma de codage Base64, en écrivant les résultats dans un ByteBuffer nouvellement alloué.
enveloppe publique InputStream (InputStream est) Il renvoie un flux d'entrée pour décoder le flux d'octets codé en Base64.

Méthodes Base64.Encoder

Méthodes Description
octet public [] encode (octet [] src) Il code tous les octets du tableau d'octets spécifié dans un tableau d'octets nouvellement alloué à l'aide du schéma de codage Base64. Le tableau d'octets renvoyé a la longueur des octets résultants.
public int encode (octet[] src, octet[] dst) Il code tous les octets du tableau d'octets spécifié à l'aide du schéma de codage Base64, en écrivant les octets résultants dans le tableau d'octets de sortie donné, en commençant au décalage 0.
chaîne publique encodeToString (octet [] src) Il code le tableau d'octets spécifié dans une chaîne à l'aide du schéma de codage Base64.
encodage public ByteBuffer (tampon ByteBuffer) Il code tous les octets restants du tampon d'octets spécifié dans un ByteBuffer nouvellement alloué à l'aide du schéma de codage Base64. Au retour, la position du tampon source sera mise à jour jusqu'à sa limite ; sa limite n'aura pas été modifiée. La position du tampon de sortie renvoyé sera zéro et sa limite sera le nombre d'octets codés résultants.
enveloppe publique OutputStream (système d'exploitation OutputStream) Il encapsule un flux de sortie pour coder les données d'octets à l'aide du schéma de codage Base64.
public Base64.Encoder sansPadding() Il renvoie une instance d'encodeur qui code de manière équivalente à celle-ci, mais sans ajouter de caractère de remplissage à la fin des données d'octet codées.

Exemple Java Base64 : encodage et décodage de base

 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); } } 

Sortir:

 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 

Exemple Java Base64 : codage et décodage d'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); } } 

Sortir:

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

Exemple Java Base64 : encodage et décodage 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); } } 

Sortir:

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