Java gir en klasse Base64 for å håndtere kryptering. Du kan kryptere og dekryptere dataene dine ved å bruke medfølgende metoder. Du må importere java.util.Base64 i kildefilen for å bruke metodene.
Denne klassen gir tre forskjellige kodere og dekodere for å kryptere informasjon på hvert nivå. Du kan bruke disse metodene på følgende nivåer.
Grunnleggende koding og dekoding
Den bruker Base64-alfabetet spesifisert av Java i RFC 4648 og RFC 2045 for kodings- og dekodingsoperasjoner. Enkoderen legger ikke til noen linjeskilletegn. Dekoderen avviser data som inneholder tegn utenfor base64-alfabetet.
URL og filnavnkoding og dekoding
Den bruker Base64-alfabetet spesifisert av Java i RFC 4648 for kodings- og dekodingsoperasjoner. Enkoderen legger ikke til noen linjeskilletegn. Dekoderen avviser data som inneholder tegn utenfor base64-alfabetet.
MIME
Den bruker Base64-alfabetet som spesifisert i RFC 2045 for kodings- og dekodingsoperasjoner. Den kodede utgangen må representeres i linjer på ikke mer enn 76 tegn hver og bruker en vognretur ' ' umiddelbart etterfulgt av en linjemating ' ' som linjeskilletegn. Ingen linjeskilletegn legges til på slutten av den kodede utgangen. Alle linjeskillere eller andre tegn som ikke finnes i base64-alfabettabellen, ignoreres i dekodingsoperasjonen.
Nestede klasser av Base64
Klasse | Beskrivelse |
---|---|
Base64.Dekoder | Denne klassen implementerer en dekoder for dekoding av bytedata ved å bruke Base64-kodingsskjemaet som spesifisert i RFC 4648 og RFC 2045. |
Base64.Encoder | Denne klassen implementerer en koder for koding av bytedata ved å bruke Base64-kodingsskjemaet som spesifisert i RFC 4648 og RFC 2045. |
Base64-metoder
Metoder | Beskrivelse |
---|---|
offentlig statisk Base64.Decoder getDecoder() | Den returnerer en Base64.Decoder som dekoder ved hjelp av Basic type base64-kodingsskjema. |
offentlig statisk Base64.Encoder getEncoder() | Den returnerer en Base64.Encoder som koder ved hjelp av Basic type base64-kodingsskjema. |
offentlig statisk Base64.Decoder getUrlDecoder() | Den returnerer en Base64.Decoder som dekoder ved å bruke URL og filnavn sikker type base64-koding. |
offentlig statisk Base64.Decoder getMimeDecoder() | Den returnerer en Base64.Decoder som dekoder ved hjelp av MIME-type base64-dekodingsskjemaet. |
public static Base64.Encoder getMimeEncoder() | Den returnerer en Base64.Encoder som koder ved hjelp av MIME-type base64-kodingsskjemaet. |
public static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator) | Den returnerer en Base64.Encoder som koder ved hjelp av MIME-type base64-kodingsskjemaet med spesifisert linjelengde og linjeseparatorer. |
public static Base64.Encoder getUrlEncoder() | Den returnerer en Base64.Encoder som koder ved hjelp av URL og filnavn sikker type base64 kodingsskjema. |
Base64.Dekodermetoder
Metoder | Beskrivelse |
---|---|
offentlig byte[] decode(byte[] src) | Den dekoder alle byte fra input-byte-matrisen ved å bruke Base64-kodingsskjemaet, og skriver resultatene inn i en nylig allokert ut-byte-matrise. Den returnerte byte-matrisen er av lengden til de resulterende bytene. |
offentlig byte[] decode(String src) | Den dekoder en Base64-kodet streng til en nylig tildelt byte-array ved å bruke Base64-kodingsskjemaet. |
public int decode(byte[] src, byte[] dst) | Den dekoder alle byte fra input-byte-matrisen ved å bruke Base64-kodingsskjemaet, og skriver resultatene inn i den gitte ut-byte-matrisen, og starter ved offset 0. |
offentlig ByteBuffer decode (ByteBuffer buffer) | Den dekoder alle byte fra input-byte-bufferen ved å bruke Base64-kodingsskjemaet, og skriver resultatene inn i en nylig tildelt ByteBuffer. |
offentlig InputStream wrap(InputStream er) | Den returnerer en inngangsstrøm for dekoding av Base64-kodet bytestrøm. |
Base64.Encoder-metoder
Metoder | Beskrivelse |
---|---|
offentlig byte[] encode(byte[] src) | Den koder alle byte fra den spesifiserte byte-matrisen til en nylig tildelt byte-matrise ved å bruke Base64-kodingsskjemaet. Den returnerte byte-matrisen er av lengden til de resulterende bytene. |
public int encode(byte[] src, byte[] dst) | Den koder alle byte fra den spesifiserte byte-matrisen ved å bruke Base64-kodingsskjemaet, og skriver de resulterende bytene til den gitte utgangsbyte-matrisen, og starter ved offset 0. |
offentlig streng encodeToString(byte[] src) | Den koder den angitte byte-matrisen til en streng ved å bruke Base64-kodingsskjemaet. |
offentlig ByteBuffer encode (ByteBuffer buffer) | Den koder alle gjenværende byte fra den spesifiserte bytebufferen til en nylig tildelt ByteBuffer ved å bruke Base64-kodingsskjemaet. Ved retur vil kildebufferens posisjon bli oppdatert til sin grense; grensen vil ikke ha blitt endret. Den returnerte utgangsbufferens posisjon vil være null og grensen vil være antall resulterende kodede byte. |
offentlig OutputStream wrap (OutputStream os) | Den pakker en utdatastrøm for koding av bytedata ved å bruke Base64-kodingsskjemaet. |
public Base64.Encoder withoutPadding() | Den returnerer en koderforekomst som koder tilsvarende denne, men uten å legge til noe utfyllingstegn på slutten av de kodede bytedataene. |
Java Base64 Eksempel: Grunnleggende koding og dekoding
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); } }
Produksjon:
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
Java Base64 Eksempel: URL-koding og -dekoding
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); } }
Produksjon:
Encoded URL: aHR0cDovL3d3dy5qYXZhdHBvaW50LmNvbS9qYXZhLXR1dG9yaWFsLw== Decoded URL: http://www.javatpoint.com/java-tutorial/
Java Base64 Eksempel: MIME-koding og dekoding
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); } }
Produksjon:
Encoded MIME message: SGVsbG8sIApZb3UgYXJlIGluZm9ybWVkIHJlZ2FyZGluZyB5b3VyIGluY29uc2lzdGVuY3kgb2Yg d29yaw== Decoded message: Hello, You are informed regarding your inconsistency of work