logo

Kódovanie a dekódovanie Java Base64

Java poskytuje triedu Base64, ktorá sa zaoberá šifrovaním. Údaje môžete šifrovať a dešifrovať pomocou poskytnutých metód. Ak chcete použiť jeho metódy, musíte do zdrojového súboru importovať java.util.Base64.

Táto trieda poskytuje tri rôzne kódovače a dekodéry na šifrovanie informácií na každej úrovni. Tieto metódy môžete použiť na nasledujúcich úrovniach.


Základné kódovanie a dekódovanie

Na operácie kódovania a dekódovania používa abecedu Base64 špecifikovanú Java v RFC 4648 a RFC 2045. Kódovač nepridáva žiadny znak oddeľovača riadkov. Dekodér odmieta údaje, ktoré obsahujú znaky mimo abecedy base64.


Kódovanie a dekódovanie URL a názvu súboru

Na operácie kódovania a dekódovania používa abecedu Base64 špecifikovanú Java v RFC 4648. Kódovač nepridáva žiadny znak oddeľovača riadkov. Dekodér odmieta údaje, ktoré obsahujú znaky mimo abecedy base64.

katrina kaif

MIME

Na operácie kódovania a dekódovania používa abecedu Base64 špecifikovanú v RFC 2045. Kódovaný výstup musí byť reprezentovaný v riadkoch s maximálne 76 znakmi a používa znak návratu vozíka ' ', za ktorým bezprostredne nasleduje posun riadku ' ' ako oddeľovač riadkov. Na koniec kódovaného výstupu sa nepridáva žiadny oddeľovač riadkov. Všetky oddeľovače riadkov alebo iné znaky, ktoré sa nenachádzajú v tabuľke abecedy base64, sa pri operácii dekódovania ignorujú.

java lambda

Vnorené triedy Base64

Trieda Popis
Base64.Dekodér Táto trieda implementuje dekodér na dekódovanie bajtových údajov pomocou schémy kódovania Base64, ako je uvedené v RFC 4648 a RFC 2045.
Base64.Kodér Táto trieda implementuje kódovač na kódovanie bajtových údajov pomocou schémy kódovania Base64, ako je uvedené v RFC 4648 a RFC 2045.

Metódy Base64

Metódy Popis
public static Base64.Decoder getDecoder() Vracia Base64.Decoder, ktorý dekóduje pomocou základnej schémy kódovania base64.
public static Base64.Encoder getEncoder() Vracia Base64.Encoder, ktorý kóduje pomocou základnej schémy kódovania base64.
public static Base64.Decoder getUrlDecoder() Vracia Base64.Decoder, ktorý dekóduje pomocou schémy kódovania base64 bezpečného typu URL a názvu súboru.
public static Base64.Decoder getMimeDecoder() Vracia Base64.Decoder, ktorý dekóduje pomocou dekódovacej schémy typu MIME base64.
public static Base64.Encoder getMimeEncoder() Vráti Base64.Encoder, ktorý kóduje pomocou schémy kódovania base64 typu MIME.
public static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator) Vracia Base64.Encoder, ktorý kóduje pomocou schémy kódovania base64 typu MIME so špecifikovanou dĺžkou riadku a oddeľovačmi riadkov.
public static Base64.Encoder getUrlEncoder() Vracia Base64.Encoder, ktorý kóduje pomocou schémy kódovania base64 bezpečného typu URL a názvu súboru.

Base64.Decoder Methods

Metódy Popis
public byte[] decode(byte[] src) Dekóduje všetky bajty zo vstupného bajtového poľa pomocou schémy kódovania Base64, pričom výsledky zapíše do novo prideleného výstupného bajtového poľa. Vrátené bajtové pole má dĺžku výsledných bajtov.
verejný bajt[] dekódovať (String src) Dekóduje reťazec zakódovaný v Base64 do novo prideleného bajtového poľa pomocou schémy kódovania Base64.
public int decode(byte[] src, byte[] dst) Dekóduje všetky bajty zo vstupného bajtového poľa pomocou kódovacej schémy Base64, pričom výsledky zapíše do daného výstupného bajtového poľa, začínajúc od offsetu 0.
verejné dekódovanie ByteBuffer (ByteBuffer buffer) Dekóduje všetky bajty zo vstupnej bajtovej vyrovnávacej pamäte pomocou schémy kódovania Base64, pričom výsledky zapíše do novo prideleného ByteBufferu.
public InputStream wrap (InputStream is) Vracia vstupný tok na dekódovanie bajtového toku kódovaného Base64.

Metódy Base64.Encoder

Metódy Popis
public byte[] encode(byte[] src) Zakóduje všetky bajty zo zadaného bajtového poľa do novo prideleného bajtového poľa pomocou kódovacej schémy Base64. Vrátené bajtové pole má dĺžku výsledných bajtov.
public int encode(byte[] src, byte[] dst) Zakóduje všetky bajty zo zadaného bajtového poľa pomocou kódovacej schémy Base64, pričom výsledné bajty zapíše do daného výstupného bajtového poľa, začínajúc od offsetu 0.
verejný reťazec encodeToString(byte[] src) Zakóduje špecifikované bajtové pole do reťazca pomocou schémy kódovania Base64.
verejné kódovanie ByteBuffer (ByteBuffer buffer) Zakóduje všetky zostávajúce bajty zo špecifikovanej bajtovej vyrovnávacej pamäte do novo prideleného ByteBufferu pomocou schémy kódovania Base64. Po návrate bude pozícia zdrojovej vyrovnávacej pamäte aktualizovaná na svoj limit; jeho limit sa nezmení. Pozícia vrátenej výstupnej vyrovnávacej pamäte bude nula a jej limitom bude počet výsledných zakódovaných bajtov.
public OutputStream wrap (OutputStream os) Zabalí výstupný tok na kódovanie bajtových údajov pomocou schémy kódovania Base64.
public Base64.Encoder withoutPadding() Vracia inštanciu kódovača, ktorá kóduje ekvivalentne tejto inštancii, ale bez pridania akéhokoľvek výplňového znaku na koniec zakódovaných bajtových údajov.

Príklad Java Base64: Základné kódovanie a dekódovanie

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

Výkon:

 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 

Java Base64 Príklad: Kódovanie a dekódovanie 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); } } 

Výkon:

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

Príklad Java Base64: Kódovanie a dekódovanie 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); } } 

Výkon:

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