Java oferă o clasă Base64 pentru a se ocupa de criptare. Vă puteți cripta și decripta datele utilizând metodele furnizate. Trebuie să importați java.util.Base64 în fișierul sursă pentru a utiliza metodele acestuia.
în java
Această clasă oferă trei codificatoare și decodoare diferite pentru a cripta informațiile la fiecare nivel. Puteți utiliza aceste metode la următoarele niveluri.
Codificare și decodare de bază
Folosește alfabetul Base64 specificat de Java în RFC 4648 și RFC 2045 pentru operațiunile de codificare și decodare. Codificatorul nu adaugă niciun caracter separator de linie. Decodorul respinge datele care conțin caractere în afara alfabetului base64.
Codificare și decodare URL și nume de fișier
Utilizează alfabetul Base64 specificat de Java în RFC 4648 pentru operațiunile de codificare și decodare. Codificatorul nu adaugă niciun caracter separator de linie. Decodorul respinge datele care conțin caractere în afara alfabetului base64.
MIMA
Folosește alfabetul Base64 așa cum este specificat în RFC 2045 pentru operațiunile de codificare și decodare. Ieșirea codificată trebuie să fie reprezentată în linii de maximum 76 de caractere fiecare și folosește un return car „ ” urmat imediat de un linefeed „ ” ca separator de linie. Niciun separator de linie nu este adăugat la sfârșitul ieșirii codificate. Toate separatoarele de linii sau alte caractere care nu se găsesc în tabelul alfabetic de bază64 sunt ignorate în operația de decodare.
caseta de alertă javascript
Clasele imbricate ale Base64
Clasă | Descriere |
---|---|
Base64.Decodor | Această clasă implementează un decodor pentru decodarea datelor de octet folosind schema de codificare Base64, așa cum este specificat în RFC 4648 și RFC 2045. |
Base64.Encoder | Această clasă implementează un codificator pentru codificarea datelor de octeți folosind schema de codare Base64, așa cum este specificat în RFC 4648 și RFC 2045. |
Metode Base64
Metode | Descriere |
---|---|
public static Base64.Decoder getDecoder() | Acesta returnează un Base64.Decoder care decodifică folosind schema de codare de tip Basic, base64. |
public static Base64.Encoder getEncoder() | Acesta returnează un Base64.Encoder care codifică folosind schema de codare de tip Basic base64. |
public static Base64.Decoder getUrlDecoder() | Acesta returnează un Base64.Decoder care decodifică folosind schema de codificare de tip sigur pentru URL și Filename Base64. |
public static Base64.Decoder getMimeDecoder() | Returnează un Base64.Decoder care decodifică folosind schema de decodare de tip MIME base64. |
public static Base64.Encoder getMimeEncoder() | Returnează un Base64.Encoder care codifică folosind schema de codare de tip MIME base64. |
public static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator) | Acesta returnează un Base64.Encoder care codifică folosind schema de codare de tip MIME base64 cu lungimea liniei și separatorii de linie specificate. |
public static Base64.Encoder getUrlEncoder() | Acesta returnează un Base64.Encoder care codifică folosind schema de codare de tip sigur de tip URL și Filename Base64. |
Base64.Metode de decodare
Metode | Descriere |
---|---|
public byte[] decode(byte[] src) | Decodifică toți octeții din matricea de octeți de intrare utilizând schema de codare Base64, scriind rezultatele într-o matrice de octeți de ieșire recent alocată. Tabloul de octeți returnat este de lungimea octeților rezultați. |
octet public[] decode(String src) | Acesta decodifică un șir codificat Base64 într-o matrice de octeți nou alocată folosind schema de codificare Base64. |
public int decode(byte[] src, byte[] dst) | Decodifică toți octeții din matricea de octeți de intrare folosind schema de codificare Base64, scriind rezultatele în matricea de octeți de ieșire dată, începând cu offset-ul 0. |
decodare publică ByteBuffer (buffer ByteBuffer) | Decodifică toți octeții din bufferul de octeți de intrare folosind schema de codare Base64, scriind rezultatele într-un ByteBuffer nou alocat. |
wrap public InputStream (InputStream este) | Returnează un flux de intrare pentru decodarea fluxului de octeți codificat Base64. |
Base64.Metode codificatoare
Metode | Descriere |
---|---|
public byte[] encode(byte[] src) | Acesta codifică toți octeții din matricea de octeți specificată într-o matrice de octeți nou alocată folosind schema de codare Base64. Tabloul de octeți returnat este de lungimea octeților rezultați. |
public int encode(byte[] src, byte[] dst) | Acesta codifică toți octeții din matricea de octeți specificată folosind schema de codare Base64, scriind octeții rezultați în matricea de octeți de ieșire dată, începând cu offset-ul 0. |
public String encodeToString(byte[] src) | Acesta codifică matricea de octeți specificată într-un șir folosind schema de codare Base64. |
codificare publică ByteBuffer (buffer ByteBuffer) | Acesta codifică toți octeții rămași din buffer-ul de octeți specificat într-un ByteBuffer nou alocat folosind schema de codare Base64. La întoarcere, poziția buffer-ului sursă va fi actualizată la limita sa; limita acestuia nu va fi fost modificată. Poziția bufferului de ieșire returnat va fi zero și limita sa va fi numărul de octeți codificați rezultați. |
public OutputStream wrap (OutputStream os) | Acesta include un flux de ieșire pentru codificarea datelor de octeți folosind schema de codare Base64. |
public Base64.Encoder withoutPadding() | Returnează o instanță de codificator care codifică echivalent cu aceasta, dar fără a adăuga niciun caracter de completare la sfârșitul datelor de octet codificați. |
Exemplu Java Base64: codificare și decodare de bază
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); } }
Ieșire:
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
Exemplu Java Base64: codificare și decodare 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); } }
Ieșire:
Encoded URL: aHR0cDovL3d3dy5qYXZhdHBvaW50LmNvbS9qYXZhLXR1dG9yaWFsLw== Decoded URL: http://www.javatpoint.com/java-tutorial/
Exemplu Java Base64: codificare și decodare 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); } }
Ieșire:
Encoded MIME message: SGVsbG8sIApZb3UgYXJlIGluZm9ybWVkIHJlZ2FyZGluZyB5b3VyIGluY29uc2lzdGVuY3kgb2Yg d29yaw== Decoded message: Hello, You are informed regarding your inconsistency of work