Java biedt een klasse Base64 om met encryptie om te gaan. U kunt uw gegevens coderen en decoderen met behulp van de aangeboden methoden. U moet java.util.Base64 in uw bronbestand importeren om de methoden ervan te kunnen gebruiken.
Deze klasse biedt drie verschillende encoders en decoders om informatie op elk niveau te coderen. U kunt deze methoden op de volgende niveaus gebruiken.
Basiscodering en decodering
Het gebruikt het Base64-alfabet gespecificeerd door Java in RFC 4648 en RFC 2045 voor coderings- en decoderingsbewerkingen. De encoder voegt geen regelscheidingsteken toe. De decoder weigert gegevens die tekens bevatten die buiten het base64-alfabet vallen.
URL- en bestandsnaamcodering en decodering
Het gebruikt het Base64-alfabet gespecificeerd door Java in RFC 4648 voor coderings- en decoderingsbewerkingen. De encoder voegt geen regelscheidingsteken toe. De decoder weigert gegevens die tekens bevatten die buiten het base64-alfabet vallen.
MIME
Het gebruikt het Base64-alfabet zoals gespecificeerd in RFC 2045 voor coderings- en decoderingsbewerkingen. De gecodeerde uitvoer moet worden weergegeven in regels van elk niet meer dan 76 tekens en gebruikt een regelterugloop ' ', onmiddellijk gevolgd door een regelinvoer ' ' als regelscheidingsteken. Er wordt geen regelscheidingsteken toegevoegd aan het einde van de gecodeerde uitvoer. Alle regelscheidingstekens of andere tekens die niet in de base64-alfabettabel voorkomen, worden tijdens de decodering genegeerd.
Geneste klassen van Base64
Klas | Beschrijving |
---|---|
Base64.Decoder | Deze klasse implementeert een decoder voor het decoderen van bytegegevens met behulp van het Base64-coderingsschema zoals gespecificeerd in RFC 4648 en RFC 2045. |
Base64.Encoder | Deze klasse implementeert een encoder voor het coderen van bytegegevens met behulp van het Base64-coderingsschema zoals gespecificeerd in RFC 4648 en RFC 2045. |
Base64-methoden
Methoden | Beschrijving |
---|---|
openbare statische Base64.Decoder getDecoder() | Het retourneert een Base64.Decoder die decodeert met behulp van het basistype base64-coderingsschema. |
openbare statische Base64.Encoder getEncoder() | Het retourneert een Base64.Encoder die codeert met behulp van het basistype base64-coderingsschema. |
openbare statische Base64.Decoder getUrlDecoder() | Het retourneert een Base64.Decoder die decodeert met behulp van het veilige base64-coderingsschema voor URL en bestandsnaam. |
openbare statische Base64.Decoder getMimeDecoder() | Het retourneert een Base64.Decoder die decodeert met behulp van het base64-decoderingsschema van het MIME-type. |
openbare statische Base64.Encoder getMimeEncoder() | Het retourneert een Base64.Encoder die codeert met behulp van het base64-coderingsschema van het MIME-type. |
openbare statische Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator) | Het retourneert een Base64.Encoder die codeert met behulp van het MIME-type base64-coderingsschema met gespecificeerde lijnlengte en lijnscheidingstekens. |
openbare statische Base64.Encoder getUrlEncoder() | Het retourneert een Base64.Encoder die codeert met behulp van het veilige base64-coderingsschema voor URL en bestandsnaam. |
Base64.Decoder-methoden
Methoden | Beschrijving |
---|---|
openbare byte[] decoderen(byte[] src) | Het decodeert alle bytes van de invoerbyte-array met behulp van het Base64-coderingsschema, en schrijft de resultaten naar een nieuw toegewezen uitvoerbyte-array. De geretourneerde byte-array heeft de lengte van de resulterende bytes. |
openbare byte[] decoderen (String src) | Het decodeert een met Base64 gecodeerde string in een nieuw toegewezen byte-array met behulp van het Base64-coderingsschema. |
publieke int-decode(byte[] src, byte[] dst) | Het decodeert alle bytes van de invoerbyte-array met behulp van het Base64-coderingsschema, en schrijft de resultaten naar de gegeven uitvoerbyte-array, beginnend bij offset 0. |
openbare ByteBuffer-decodering (ByteBuffer-buffer) | Het decodeert alle bytes uit de invoerbytebuffer met behulp van het Base64-coderingsschema, en schrijft de resultaten naar een nieuw toegewezen ByteBuffer. |
openbare InputStream-wrap (InputStream is) | Het retourneert een invoerstroom voor het decoderen van de Base64-gecodeerde bytestroom. |
Base64.Encoder-methoden
Methoden | Beschrijving |
---|---|
openbare byte[] coderen(byte[] src) | Het codeert alle bytes van de opgegeven byte-array naar een nieuw toegewezen byte-array met behulp van het Base64-coderingsschema. De geretourneerde byte-array heeft de lengte van de resulterende bytes. |
publieke int-codering (byte[] src, byte[] dst) | Het codeert alle bytes uit de opgegeven byte-array met behulp van het Base64-coderingsschema, waarbij de resulterende bytes naar de gegeven uitvoerbyte-array worden geschreven, beginnend bij offset 0. |
openbare tekenreeks encodeToString(byte[] src) | Het codeert de opgegeven byte-array in een String met behulp van het Base64-coderingsschema. |
openbare ByteBuffer-codering (ByteBuffer-buffer) | Het codeert alle resterende bytes uit de opgegeven bytebuffer naar een nieuw toegewezen ByteBuffer met behulp van het Base64-coderingsschema. Bij terugkeer wordt de positie van de bronbuffer bijgewerkt tot aan de limiet; de limiet zal niet zijn gewijzigd. De positie van de geretourneerde uitvoerbuffer is nul en de limiet ervan is het aantal resulterende gecodeerde bytes. |
openbare OutputStream wrap (OutputStream os) | Het bevat een uitvoerstroom voor het coderen van bytegegevens met behulp van het Base64-coderingsschema. |
openbare Base64.Encoder zonderPadding() | Het retourneert een encoderinstantie die gelijkwaardig codeert als deze, maar zonder een opvulteken toe te voegen aan het einde van de gecodeerde bytegegevens. |
Java Base64-voorbeeld: basiscodering en decodering
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); } }
Uitgang:
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 Voorbeeld: URL-codering en decodering
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); } }
Uitgang:
Encoded URL: aHR0cDovL3d3dy5qYXZhdHBvaW50LmNvbS9qYXZhLXR1dG9yaWFsLw== Decoded URL: http://www.javatpoint.com/java-tutorial/
Java Base64 Voorbeeld: MIME-codering en decodering
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); } }
Uitgang:
Encoded MIME message: SGVsbG8sIApZb3UgYXJlIGluZm9ybWVkIHJlZ2FyZGluZyB5b3VyIGluY29uc2lzdGVuY3kgb2Yg d29yaw== Decoded message: Hello, You are informed regarding your inconsistency of work