logo

Kodowanie i dekodowanie Java Base64

Java udostępnia klasę Base64 do obsługi szyfrowania. Możesz szyfrować i deszyfrować swoje dane, korzystając z dostarczonych metod. Aby skorzystać z jego metod, musisz zaimportować Java.util.Base64 do pliku źródłowego.

Ta klasa zapewnia trzy różne kodery i dekodery do szyfrowania informacji na każdym poziomie. Metod tych można używać na następujących poziomach.


Podstawowe kodowanie i dekodowanie

Do operacji kodowania i dekodowania wykorzystuje alfabet Base64 określony przez Javę w dokumentach RFC 4648 i RFC 2045. Koder nie dodaje żadnego znaku separatora linii. Dekoder odrzuca dane zawierające znaki spoza alfabetu base64.


Kodowanie i dekodowanie adresów URL i nazw plików

Używa alfabetu Base64 określonego przez Javę w RFC 4648 do operacji kodowania i dekodowania. Koder nie dodaje żadnego znaku separatora linii. Dekoder odrzuca dane zawierające znaki spoza alfabetu base64.

jak przekonwertować liczbę całkowitą na ciąg znaków w Javie

MIM

Do operacji kodowania i dekodowania wykorzystuje alfabet Base64 określony w RFC 2045. Zakodowany wynik musi być reprezentowany w liniach nie dłuższych niż 76 znaków każdy i wykorzystuje znak powrotu karetki „ ”, po którym następuje przesunięcie wiersza „ ” jako separator wiersza. Na końcu zakodowanego wyjścia nie jest dodawany żaden separator linii. Wszystkie separatory linii lub inne znaki, których nie ma w tablicy alfabetu base64, są ignorowane podczas operacji dekodowania.

przycisk w środku CSS

Zagnieżdżone klasy Base64

Klasa Opis
Dekoder Base64 Ta klasa implementuje dekoder do dekodowania danych bajtowych przy użyciu schematu kodowania Base64 określonego w dokumentach RFC 4648 i RFC 2045.
Koder Base64 Ta klasa implementuje koder do kodowania danych bajtowych przy użyciu schematu kodowania Base64 określonego w dokumentach RFC 4648 i RFC 2045.

Metody Base64

Metody Opis
publiczny statyczny Base64.Decoder getDecoder() Zwraca Base64.Decoder, który dekoduje przy użyciu podstawowego schematu kodowania base64.
publiczny statyczny Base64.Encoder getEncoder() Zwraca Base64.Encoder, który koduje przy użyciu podstawowego schematu kodowania base64.
publiczny statyczny Base64.Decoder getUrlDecoder() Zwraca Base64.Decoder, który dekoduje przy użyciu schematu kodowania bezpiecznego adresu URL i nazwy pliku base64.
publiczny statyczny Base64.Decoder getMimeDecoder() Zwraca Base64.Decoder, który dekoduje przy użyciu schematu dekodowania typu MIME base64.
publiczny statyczny Base64.Encoder getMimeEncoder() Zwraca obiekt Base64.Encoder, który koduje przy użyciu schematu kodowania typu MIME base64.
public static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator) Zwraca obiekt Base64.Encoder, który koduje przy użyciu schematu kodowania typu MIME base64 z określoną długością linii i separatorami linii.
publiczny statyczny Base64.Encoder getUrlEncoder() Zwraca Base64.Encoder, który koduje przy użyciu schematu kodowania bezpiecznego adresu URL i nazwy pliku base64.

Metody Base64.Decoder

Metody Opis
publiczny bajt [] dekodowanie (bajt [] src) Dekoduje wszystkie bajty z tablicy bajtów wejściowych przy użyciu schematu kodowania Base64 i zapisuje wyniki do nowo przydzielonej tablicy bajtów wyjściowych. Zwrócona tablica bajtów ma długość wynikowych bajtów.
dekodowanie bajtu publicznego [] (String src) Dekoduje ciąg zakodowany w formacie Base64 do nowo przydzielonej tablicy bajtów przy użyciu schematu kodowania Base64.
publiczne dekodowanie int (bajt [] src, bajt [] dst) Dekoduje wszystkie bajty z tablicy bajtów wejściowych przy użyciu schematu kodowania Base64, zapisując wyniki do danej tablicy bajtów wyjściowych, zaczynając od przesunięcia 0.
publiczne dekodowanie ByteBuffer (bufor ByteBuffer) Dekoduje wszystkie bajty z bufora bajtów wejściowych przy użyciu schematu kodowania Base64, zapisując wyniki w nowo przydzielonym buforze ByteBuffer.
publiczne zawijanie strumienia wejściowego (jest to strumień wejściowy) Zwraca strumień wejściowy do dekodowania strumienia bajtów zakodowanego w formacie Base64.

Metody Base64.Encoder

Metody Opis
publiczny bajt [] kodowanie (bajt [] src) Koduje wszystkie bajty z określonej tablicy bajtów do nowo przydzielonej tablicy bajtów przy użyciu schematu kodowania Base64. Zwrócona tablica bajtów ma długość wynikowych bajtów.
public int encode(bajt[] src, bajt[] dst) Koduje wszystkie bajty z określonej tablicy bajtów przy użyciu schematu kodowania Base64, zapisując powstałe bajty do danej tablicy bajtów wyjściowych, zaczynając od przesunięcia 0.
public String encodeToString(bajt[] src) Koduje określoną tablicę bajtów w String przy użyciu schematu kodowania Base64.
publiczne kodowanie ByteBuffer (bufor ByteBuffer) Koduje wszystkie pozostałe bajty z określonego bufora bajtów do nowo przydzielonego buforu ByteBuffer przy użyciu schematu kodowania Base64. Po powrocie pozycja bufora źródłowego zostanie zaktualizowana do limitu; jego limit nie ulegnie zmianie. Zwrócona pozycja bufora wyjściowego będzie wynosić zero, a jego limitem będzie liczba wynikowych zakodowanych bajtów.
publiczne opakowanie OutputStream (system operacyjny OutputStream) Zawija strumień wyjściowy do kodowania danych bajtowych przy użyciu schematu kodowania Base64.
public Base64.Encoder bez Padding() Zwraca instancję kodera, która koduje równoważnie z tą, ale bez dodawania żadnego znaku dopełniającego na końcu zakodowanych danych bajtowych.

Przykład Java Base64: podstawowe kodowanie i dekodowanie

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

Wyjście:

 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 

Przykład Java Base64: kodowanie i dekodowanie adresu 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); } } 

Wyjście:

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

Przykład Java Base64: kodowanie i dekodowanie 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); } } 

Wyjście:

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