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