logo

Codificació i descodificació de Java Base64

Java proporciona una classe Base64 per fer front al xifratge. Podeu xifrar i desxifrar les vostres dades mitjançant els mètodes proporcionats. Heu d'importar java.util.Base64 al vostre fitxer font per utilitzar els seus mètodes.

Aquesta classe proporciona tres codificadors i descodificadors diferents per xifrar la informació a cada nivell. Podeu utilitzar aquests mètodes als nivells següents.

apilar en java

Codificació i descodificació bàsica

Utilitza l'alfabet Base64 especificat per Java a RFC 4648 i RFC 2045 per a les operacions de codificació i descodificació. El codificador no afegeix cap caràcter separador de línies. El descodificador rebutja les dades que contenen caràcters fora de l'alfabet base64.


Codificació i descodificació d'URL i noms de fitxer

Utilitza l'alfabet Base64 especificat per Java a RFC 4648 per a les operacions de codificació i descodificació. El codificador no afegeix cap caràcter separador de línies. El descodificador rebutja les dades que contenen caràcters fora de l'alfabet base64.


MIME

Utilitza l'alfabet Base64 tal com s'especifica a RFC 2045 per a les operacions de codificació i descodificació. La sortida codificada s'ha de representar en línies de no més de 76 caràcters cadascuna i utilitza un retorn de carro ' ' seguit immediatament d'un avançament de línia ' ' com a separador de línia. No s'afegeix cap separador de línia al final de la sortida codificada. Tots els separadors de línies o altres caràcters que no es troben a la taula de l'alfabet base64 s'ignoren en l'operació de descodificació.


Classes imbricades de Base64

Classe Descripció
Base64.Decodificador Aquesta classe implementa un descodificador per descodificar dades de bytes utilitzant l'esquema de codificació Base64 tal com s'especifica a RFC 4648 i RFC 2045.
Base64.Codificador Aquesta classe implementa un codificador per codificar dades de bytes utilitzant l'esquema de codificació Base64 tal com s'especifica a RFC 4648 i RFC 2045.

Mètodes Base64

Mètodes Descripció
public static Base64.Decoder getDecoder() Retorna un descodificador Base64 que descodifica utilitzant l'esquema de codificació base64 de tipus bàsic.
public static Base64.Encoder getEncoder() Retorna un codificador Base64.Encoder que codifica utilitzant l'esquema de codificació base64 de tipus bàsic.
public static Base64.Decoder getUrlDecoder() Retorna un descodificador Base64.Decoder que descodifica mitjançant l'esquema de codificació base64 de tipus segur URL i nom de fitxer.
public static Base64.Decoder getMimeDecoder() Retorna un Base64.Decoder que descodifica utilitzant l'esquema de descodificació base64 de tipus MIME.
public static Base64.Encoder getMimeEncoder() Retorna un codificador Base64 que codifica mitjançant l'esquema de codificació base64 de tipus MIME.
public static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator) Retorna un Codificador Base64 que codifica utilitzant l'esquema de codificació base64 de tipus MIME amb una longitud de línia i separadors de línia especificats.
public static Base64.Encoder getUrlEncoder() Retorna un codificador Base64.Encoder que codifica mitjançant l'esquema de codificació base64 de tipus segur URL i nom de fitxer.

Base64.Mètodes descodificadors

Mètodes Descripció
byte públic[] decodificació(byte[] src) Descodifica tots els bytes de la matriu de bytes d'entrada mitjançant l'esquema de codificació Base64, escrivint els resultats en una matriu de bytes de sortida recentment assignada. La matriu de bytes retornada és de la longitud dels bytes resultants.
decodificació de byte públic[](String src) Descodifica una cadena codificada en Base64 en una matriu de bytes recentment assignada mitjançant l'esquema de codificació Base64.
public int decode(byte[] src, byte[] dst) Descodifica tots els bytes de la matriu de bytes d'entrada mitjançant l'esquema de codificació Base64, escrivint els resultats a la matriu de bytes de sortida donada, començant per l'offset 0.
descodificació pública de ByteBuffer (búfer de ByteBuffer) Descodifica tots els bytes del buffer de bytes d'entrada mitjançant l'esquema de codificació Base64, escrivint els resultats en un ByteBuffer recentment assignat.
embolcall públic d'InputStream (InputStream és) Retorna un flux d'entrada per descodificar el flux de bytes codificats en Base64.

Base64. Mètodes de codificació

Mètodes Descripció
codificació de byte públic[] (byte[] src) Codifica tots els bytes de la matriu de bytes especificada en una matriu de bytes recentment assignada mitjançant l'esquema de codificació Base64. La matriu de bytes retornada és de la longitud dels bytes resultants.
codificació int pública (byte[] src, byte[] dst) Codifica tots els bytes de la matriu de bytes especificada utilitzant l'esquema de codificació Base64, escrivint els bytes resultants a la matriu de bytes de sortida donada, començant pel desplaçament 0.
Public String encodeToString(byte[] src) Codifica la matriu de bytes especificada en una cadena utilitzant l'esquema de codificació Base64.
codificació pública de ByteBuffer (búfer de ByteBuffer) Codifica tots els bytes restants del buffer de bytes especificat en un ByteBuffer recentment assignat mitjançant l'esquema de codificació Base64. En tornar, la posició del buffer d'origen s'actualitzarà fins al seu límit; el seu límit no s'haurà modificat. La posició de la memòria intermèdia de sortida retornada serà zero i el seu límit serà el nombre de bytes codificats resultants.
public OutputStream wrap (OutputStream OS) Embolcalla un flux de sortida per codificar dades de bytes mitjançant l'esquema de codificació Base64.
Public Base64.Encoder without Padding() Retorna una instància del codificador que codifica de manera equivalent a aquesta, però sense afegir cap caràcter de farciment al final de les dades de bytes codificades.

Exemple Java Base64: codificació i descodificació bàsica

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

Sortida:

 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: codificació i descodificació 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); } } 

Sortida:

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

Exemple Java Base64: codificació i descodificació 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); } } 

Sortida:

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