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