logo

Kodiranje i dekodiranje Java Base64

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