Java nudi klasu Base64 koja se bavi enkripcijom. Svoje podatke možete šifrirati i dešifrirati pomoću ponuđenih metoda. Morate uvesti java.util.Base64 u svoju izvornu datoteku da biste koristili njegove metode.
Ova klasa nudi tri različita kodera i dekodera za šifriranje informacija na svakoj razini. Ove metode možete koristiti na sljedećim razinama.
Osnovno kodiranje i dekodiranje
Koristi Base64 abecedu koju je Java specificirala u RFC 4648 i RFC 2045 za operacije kodiranja i dekodiranja. Koder ne dodaje nikakav znak za razdvajanje redaka. Dekoder odbija podatke koji sadrže znakove izvan base64 abecede.
Kodiranje i dekodiranje URL-a i naziva datoteke
Koristi Base64 abecedu koju je Java specificirala u RFC 4648 za operacije kodiranja i dekodiranja. Koder ne dodaje nikakav znak za razdvajanje redaka. Dekoder odbija podatke koji sadrže znakove izvan base64 abecede.
MIME
Koristi Base64 abecedu kako je navedeno u RFC 2045 za operacije kodiranja i dekodiranja. Kodirani izlaz mora biti predstavljen u recima koji ne sadrže više od 76 znakova svaki i koristi znak za vraćanje redaka ' ' nakon kojeg odmah slijedi pomak u novi red ' ' kao razdjelnik retka. Na kraj kodiranog izlaza ne dodaje se razdjelnik retka. Svi razdjelnici redaka ili drugi znakovi koji se ne nalaze u base64 abecednoj tablici zanemaruju se u operaciji dekodiranja.
Ugniježđene klase Base64
Klasa | Opis |
---|---|
Base64.Dekoder | Ova klasa implementira dekoder za dekodiranje bajt podataka koristeći Base64 shemu kodiranja kako je navedeno u RFC 4648 i RFC 2045. |
Base64.Encoder | Ova klasa implementira koder za kodiranje bajt podataka koristeći Base64 shemu kodiranja kako je navedeno u RFC 4648 i RFC 2045. |
Metode Base64
Metode | Opis |
---|---|
javni statički Base64.Decoder getDecoder() | Vraća Base64.Decoder koji dekodira koristeći shemu kodiranja Basic tipa base64. |
javni statički Base64.Encoder getEncoder() | Vraća Base64.Encoder koji kodira koristeći shemu kodiranja Basic tipa base64. |
javni statički Base64.Decoder getUrlDecoder() | Vraća Base64.Decoder koji dekodira korištenjem URL-a i Filename sigurnog tipa base64 sheme kodiranja. |
javni statički Base64.Decoder getMimeDecoder() | Vraća Base64.Decoder koji dekodira korištenjem sheme dekodiranja base64 tipa MIME. |
javni statički Base64.Encoder getMimeEncoder() | Vraća Base64.Encoder koji kodira pomoću sheme kodiranja MIME tipa base64. |
public static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator) | Vraća Base64.Encoder koji kodira pomoću MIME sheme kodiranja base64 s navedenom duljinom retka i razdjelnicima reda. |
javni statički Base64.Encoder getUrlEncoder() | Vraća Base64.Encoder koji kodira korištenjem URL-a i Filename sigurnog tipa base64 sheme kodiranja. |
Base64.Dekoderske metode
Metode | Opis |
---|---|
javno bajt[] dekodiranje (bajt[] src) | Dekodira sve bajtove iz ulaznog niza bajtova pomoću sheme kodiranja Base64, zapisujući rezultate u novododijeljeno polje izlaznih bajtova. Vraćeni niz bajtova je duljine rezultirajućih bajtova. |
public byte[] decode(String src) | Dekodira Base64 kodirani String u novododijeljeni niz bajtova koristeći Base64 shemu kodiranja. |
public int decode(byte[] src, byte[] dst) | Dekodira sve bajtove iz ulaznog niza bajtova koristeći shemu kodiranja Base64, zapisujući rezultate u zadani izlazni niz bajtova, počevši od pomaka 0. |
javno ByteBuffer dekodiranje (ByteBuffer međuspremnik) | Dekodira sve bajtove iz međuspremnika ulaznih bajtova pomoću sheme kodiranja Base64, zapisujući rezultate u novododijeljeni međuspremnik bajtova. |
javni InputStream omot (InputStream je) | Vraća ulazni tok za dekodiranje Base64 kodiranog toka bajtova. |
Base64.Encoder metode
Metode | Opis |
---|---|
javno bajt[] kodiranje (bajt[] src) | On kodira sve bajtove iz navedenog niza bajtova u novododijeljeni niz bajtova pomoću sheme kodiranja Base64. Vraćeni niz bajtova je duljine rezultirajućih bajtova. |
javno int kodiranje (bajt[] src, bajt[] dst) | On kodira sve bajtove iz navedenog niza bajtova koristeći Base64 shemu kodiranja, zapisujući rezultirajuće bajtove u zadani izlazni niz bajtova, počevši od pomaka 0. |
public String encodeToString(byte[] src) | On kodira navedeni niz bajtova u niz pomoću Base64 sheme kodiranja. |
javno kodiranje ByteBuffer (ByteBuffer međuspremnik) | On kodira sve preostale bajtove iz navedenog međuspremnika bajtova u novododijeljeni međuspremnik bajtova koristeći Base64 shemu kodiranja. Nakon povratka, pozicija izvornog međuspremnika ažurirat će se do svoje granice; njegova granica neće biti promijenjena. Pozicija vraćenog izlaznog međuspremnika bit će nula, a ograničenje će biti broj rezultirajućih kodiranih bajtova. |
javni OutputStream omot (OutputStream os) | Omotava izlazni tok za kodiranje bajt podataka koristeći Base64 shemu kodiranja. |
javni Base64.Encoder withoutPadding() | Vraća instancu kodera koja kodira jednako ovoj, ali bez dodavanja znaka za punjenje na kraju kodiranih bajt podataka. |
Primjer Java Base64: Osnovno kodiranje i dekodiranje
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); } }
Izlaz:
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
Primjer Java Base64: URL kodiranje i dekodiranje
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); } }
Izlaz:
stog u ds
Encoded URL: aHR0cDovL3d3dy5qYXZhdHBvaW50LmNvbS9qYXZhLXR1dG9yaWFsLw== Decoded URL: http://www.javatpoint.com/java-tutorial/
Primjer Java Base64: MIME kodiranje i dekodiranje
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); } }
Izlaz:
Encoded MIME message: SGVsbG8sIApZb3UgYXJlIGluZm9ybWVkIHJlZ2FyZGluZyB5b3VyIGluY29uc2lzdGVuY3kgb2Yg d29yaw== Decoded message: Hello, You are informed regarding your inconsistency of work