Java ponuja razred Base64 za obravnavanje šifriranja. Podatke lahko šifrirate in dešifrirate z uporabo navedenih metod. Za uporabo njenih metod morate uvoziti java.util.Base64 v svojo izvorno datoteko.
Ta razred ponuja tri različne kodirnike in dekodirnike za šifriranje informacij na vsaki ravni. Te metode lahko uporabite na naslednjih ravneh.
Osnovno kodiranje in dekodiranje
Za operacije kodiranja in dekodiranja uporablja abecedo Base64, ki jo Java določa v RFC 4648 in RFC 2045. Kodirnik ne doda znakov za ločilo vrstic. Dekoder zavrne podatke, ki vsebujejo znake zunaj abecede base64.
Kodiranje in dekodiranje URL-jev in imen datotek
Za operacije kodiranja in dekodiranja uporablja abecedo Base64, ki jo Java določa v RFC 4648. Kodirnik ne doda znakov za ločilo vrstic. Dekoder zavrne podatke, ki vsebujejo znake zunaj abecede base64.
MIME
Za operacije kodiranja in dekodiranja uporablja abecedo Base64, kot je določeno v RFC 2045. Kodirani izhod mora biti predstavljen v vrsticah z največ 76 znaki in kot ločilo vrstic uporablja povratni znak ' ', ki mu takoj sledi začetek vrstice ' '. Na koncu kodiranega izhoda ni dodan noben ločilnik vrstic. Vsa ločila med vrsticami ali drugi znaki, ki jih ni v abecedni tabeli base64, so pri operaciji dekodiranja prezrti.
Ugnezdeni razredi Base64
Razred | Opis |
---|---|
Base64.Dekoder | Ta razred implementira dekoder za dekodiranje bajtnih podatkov z uporabo sheme kodiranja Base64, kot je določeno v RFC 4648 in RFC 2045. |
Base64.Encoder | Ta razred izvaja kodirnik za kodiranje bajtnih podatkov z uporabo sheme kodiranja Base64, kot je določeno v RFC 4648 in RFC 2045. |
Metode Base64
Metode | Opis |
---|---|
javni statični Base64.Decoder getDecoder() | Vrne Base64.Decoder, ki dekodira z uporabo sheme kodiranja Basic tipa base64. |
javni statični Base64.Encoder getEncoder() | Vrne Base64.Encoder, ki kodira s shemo kodiranja Basic tipa base64. |
javni statični Base64.Decoder getUrlDecoder() | Vrne Base64.Decoder, ki dekodira z uporabo sheme kodiranja base64 varne vrste URL in imena datoteke. |
javni statični Base64.Decoder getMimeDecoder() | Vrne Base64.Decoder, ki dekodira z uporabo sheme dekodiranja tipa MIME base64. |
javni statični Base64.Encoder getMimeEncoder() | Vrne Base64.Encoder, ki kodira s kodirno shemo tipa MIME base64. |
public static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator) | Vrne Base64.Encoder, ki kodira s shemo kodiranja base64 vrste MIME z določeno dolžino vrstice in ločili vrstic. |
javni statični Base64.Encoder getUrlEncoder() | Vrne Base64.Encoder, ki kodira z uporabo kodirne sheme base64 varne vrste URL in imena datoteke. |
Metode Base64.Decoder
Metode | Opis |
---|---|
javni bajt [] dekodiraj (bajt [] src) | Dekodira vse bajte iz vhodne bajtne matrike z uporabo kodirne sheme Base64 in zapiše rezultate v novo dodeljeno izhodno bajtno matriko. Vrnjeno niz bajtov je enak dolžini nastalih bajtov. |
dekodiranje javnega bajta[] (niz src) | Dekodira Base64 kodiran niz v novo dodeljeno niz bajtov z uporabo kodirne sheme Base64. |
javno int dekodiranje (bajt [] src, bajt [] dst) | Dekodira vse bajte iz vhodne bajtne matrike z uporabo kodirne sheme Base64, rezultate pa zapiše v dano izhodno bajtno matriko, začenši pri odmiku 0. |
javno dekodiranje ByteBuffer (medpomnilnik ByteBuffer) | Dekodira vse bajte iz vhodnega medpomnilnika bajtov z uporabo kodirne sheme Base64 in zapiše rezultate v na novo dodeljeni medpomnilnik ByteBuffer. |
javni ovoj InputStream (InputStream je) | Vrne vhodni tok za dekodiranje Base64 kodiranega toka bajtov. |
Metode Base64.Encoder
Metode | Opis |
---|---|
javni bajt [] kodiraj (bajt [] src) | Kodira vse bajte iz podane bajtne matrike v na novo dodeljeno bajtno matriko z uporabo sheme kodiranja Base64. Vrnjeno niz bajtov je enak dolžini nastalih bajtov. |
javno int kodiranje (bajt [] src, bajt [] dst) | Kodira vse bajte iz podane bajtne matrike z uporabo kodirne sheme Base64, pri čemer dobljene bajte zapiše v podano izhodno bajtno matriko, začenši pri odmiku 0. |
public String encodeToString(byte[] src) | Kodira podano niz bajtov v niz z uporabo sheme kodiranja Base64. |
javno kodiranje ByteBuffer (medpomnilnik ByteBuffer) | Kodira vse preostale bajte iz podanega medpomnilnika bajtov v na novo dodeljeni medpomnilnik ByteBuffer z uporabo sheme kodiranja Base64. Po vrnitvi bo položaj izvornega medpomnilnika posodobljen na njegovo mejo; njegova meja ne bo spremenjena. Položaj vrnjenega izhodnega medpomnilnika bo enak nič, njegova omejitev pa bo število nastalih kodiranih bajtov. |
javni ovoj OutputStream (OutputStream os) | Ovije izhodni tok za kodiranje bajtnih podatkov z uporabo sheme kodiranja Base64. |
public Base64.Encoder withoutPadding() | Vrne primerek kodirnika, ki kodira enako kot ta, vendar brez dodajanja kakršnega koli znaka za oblazinjenje na koncu kodiranih bajtnih podatkov. |
Primer Java Base64: Osnovno kodiranje in 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); } }
Izhod:
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
Primer Java Base64: Kodiranje in dekodiranje URL-jev
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); } }
Izhod:
Encoded URL: aHR0cDovL3d3dy5qYXZhdHBvaW50LmNvbS9qYXZhLXR1dG9yaWFsLw== Decoded URL: http://www.javatpoint.com/java-tutorial/
Primer Java Base64: Kodiranje in dekodiranje 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); } }
Izhod:
prečrtana markdown
Encoded MIME message: SGVsbG8sIApZb3UgYXJlIGluZm9ybWVkIHJlZ2FyZGluZyB5b3VyIGluY29uc2lzdGVuY3kgb2Yg d29yaw== Decoded message: Hello, You are informed regarding your inconsistency of work