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