logo

Java Base64 kódolás és dekódolás

A Java egy Base64 osztályt biztosít a titkosítás kezelésére. Adatait titkosíthatja és visszafejtheti a megadott módszerekkel. A metódusainak használatához importálnia kell a java.util.Base64-et a forrásfájlba.

Ez az osztály három különböző kódolót és dekódert biztosít az információk titkosításához minden szinten. Ezeket a módszereket a következő szinteken használhatja.


Alapvető kódolás és dekódolás

A Java által az RFC 4648-ban és az RFC 2045-ben meghatározott Base64 ábécét használja a kódolási és dekódolási műveletekhez. A kódoló nem ad hozzá sorelválasztó karaktert. A dekóder elutasítja azokat az adatokat, amelyek a base64 ábécén kívüli karaktereket tartalmaznak.


URL és fájlnév kódolása és dekódolása

A Java által az RFC 4648-ban meghatározott Base64 ábécét használja a kódolási és dekódolási műveletekhez. A kódoló nem ad hozzá sorelválasztó karaktert. A dekóder elutasítja azokat az adatokat, amelyek a base64 ábécén kívüli karaktereket tartalmaznak.


PANTOMIM

A kódolási és dekódolási műveletekhez az RFC 2045 szabványban meghatározott Base64 ábécét használja. A kódolt kimenetet legfeljebb 76 karakter hosszúságú sorokban kell megjeleníteni, és sorelválasztóként egy kocsivissza „ ” karaktert kell használni, amelyet közvetlenül egy „ ” soremelés követ. A kódolt kimenet végére nem adunk sorelválasztót. A dekódolási művelet során figyelmen kívül hagyja az összes sorelválasztót vagy más karaktert, amely nem található a base64 ábécé táblázatában.


Beágyazott Base64 osztályok

Osztály Leírás
Base64.Dekóder Ez az osztály egy dekódert valósít meg a bájtadatok dekódolásához az RFC 4648 és RFC 2045 szabványban meghatározott Base64 kódolási séma használatával.
Base64.Encoder Ez az osztály egy kódolót valósít meg a bájtadatok kódolására az RFC 4648 és RFC 2045 szabványban meghatározott Base64 kódolási séma használatával.

Base64 Methods

Mód Leírás
public static Base64.Decoder getDecoder() Egy Base64.Decodert ad vissza, amely a Basic típusú base64 kódolási séma használatával dekódol.
public static Base64.Encoder getEncoder() Egy Base64.Encodert ad vissza, amely a Basic típusú base64 kódolási sémát használja.
public static Base64.Decoder getUrlDecoder() Egy Base64.Decodert ad vissza, amely az URL és a fájlnév biztonságos típusú base64 kódolási sémájával dekódol.
public static Base64.Decoder getMimeDecoder() Egy Base64.Decodert ad vissza, amely a MIME típusú base64 dekódolási séma használatával dekódol.
public static Base64.Encoder getMimeEncoder() Egy Base64.Encodert ad vissza, amely a MIME típusú base64 kódolási séma szerint kódol.
public static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator) Egy Base64.Encodert ad vissza, amely a MIME típusú base64 kódolási sémát használja meghatározott sorhosszúsággal és sorelválasztókkal.
public static Base64.Encoder getUrlEncoder() Egy Base64.Encodert ad vissza, amely az URL és a fájlnév biztonságos típusú base64 kódolási sémájával kódol.

Base64.Dekóder módszerek

Mód Leírás
nyilvános bájt[] dekódolás (byte[] src) Minden bájtot dekódol a bemeneti bájttömbből a Base64 kódolási sémával, és az eredményeket egy újonnan lefoglalt kimeneti bájttömbbe írja. A visszaadott bájttömb a kapott bájtok hosszúságú.
nyilvános bájt[] dekódolás (String src) A Base64 kódolású karakterláncot egy újonnan lefoglalt bájttömbbe dekódolja a Base64 kódolási séma használatával.
nyilvános int dekódolás (byte[] src, byte[] dst) A bemeneti bájttömbből az összes bájtot a Base64 kódolási sémával dekódolja, az eredményeket az adott kimeneti bájttömbbe írja, 0 eltolástól kezdve.
nyilvános ByteBuffer dekódolás (ByteBuffer puffer) Dekódolja az összes bájtot a bemeneti bájtpufferből a Base64 kódolási sémával, és az eredményeket egy újonnan kiosztott ByteBufferbe írja.
nyilvános InputStream wrap (az InputStream az) Bemeneti adatfolyamot ad vissza a Base64 kódolású bájtfolyam dekódolásához.

Base64.Encoder Methods

Mód Leírás
nyilvános bájt[] kódolás (byte[] src) A megadott bájttömb összes bájtját egy újonnan lefoglalt bájttömbbe kódolja a Base64 kódolási séma használatával. A visszaadott bájttömb a kapott bájtok hosszúságú.
public int kódolás (byte[] src, byte[] dst) A megadott bájttömb összes bájtját a Base64 kódolási sémával kódolja, a kapott bájtokat az adott kimeneti bájttömbbe írja, 0 eltolástól kezdve.
public String encodeToString(byte[] src) A megadott bájttömböt egy String-be kódolja a Base64 kódolási séma használatával.
nyilvános ByteBuffer kódolás (ByteBuffer puffer) A megadott bájtpuffer összes fennmaradó bájtját egy újonnan lefoglalt ByteBufferbe kódolja a Base64 kódolási séma használatával. Visszatéréskor a forráspuffer pozíciója a korlátra frissül; korlátja nem változott. A visszaadott kimeneti puffer pozíciója nulla, korlátja pedig az eredményül kapott kódolt bájtok száma.
nyilvános OutputStream wrap (OutputStream os) Becsomagol egy kimeneti adatfolyamot a bájt adatok Base64 kódolási séma használatával történő kódolásához.
public Base64.Encoder withoutPadding() Egy olyan kódolópéldányt ad vissza, amely ezzel egyenértékűen kódol, de anélkül, hogy a kódolt bájtadatok végére kitöltő karaktert adna hozzá.

Java Base64 Példa: Alapvető kódolás és dekódolás

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

Kimenet:

 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 Példa: URL kódolás és dekódolás

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

Kimenet:

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

Java Base64 Példa: MIME kódolás és dekódolás

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

Kimenet:

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