Java предоставя клас Base64 за справяне с криптирането. Можете да шифровате и дешифрирате вашите данни, като използвате предоставените методи. Трябва да импортирате java.util.Base64 във вашия изходен файл, за да използвате неговите методи.
Този клас предоставя три различни енкодера и декодера за криптиране на информация на всяко ниво. Можете да използвате тези методи на следните нива.
Основно кодиране и декодиране
Той използва азбуката Base64, определена от Java в RFC 4648 и RFC 2045 за операции по кодиране и декодиране. Кодерът не добавя символ за разделяне на редове. Декодерът отхвърля данни, които съдържат знаци извън азбуката base64.
Кодиране и декодиране на URL и име на файл
Той използва азбуката Base64, определена от Java в RFC 4648 за операции по кодиране и декодиране. Кодерът не добавя символ за разделяне на редове. Декодерът отхвърля данни, които съдържат знаци извън азбуката base64.
MIME
Той използва азбуката Base64, както е посочено в RFC 2045 за операции по кодиране и декодиране. Кодираният изход трябва да бъде представен в редове с не повече от 76 знака всеки и използва връщане на каретка ' ', последвано незабавно от нов ред ' ' като разделител на реда. Не се добавя разделител на редове в края на кодирания изход. Всички разделители на редове или други знаци, които не се намират в азбучната таблица base64, се игнорират при операцията по декодиране.
Вложени класове на Base64
Клас | Описание |
---|---|
Base64.Decoder | Този клас имплементира декодер за декодиране на байтови данни, използвайки схемата за кодиране Base64, както е посочено в RFC 4648 и RFC 2045. |
Base64.Encoder | Този клас имплементира енкодер за кодиране на байтови данни, използвайки схемата за кодиране Base64, както е посочено в RFC 4648 и RFC 2045. |
Методи Base64
Методи | Описание |
---|---|
публичен статичен Base64.Decoder getDecoder() | Той връща Base64.Decoder, който декодира с помощта на базовата схема за кодиране base64. |
публичен статичен Base64.Encoder getEncoder() | Той връща Base64.Encoder, който кодира с помощта на базовата схема за кодиране base64. |
публичен статичен Base64.Decoder getUrlDecoder() | Той връща Base64.Decoder, който декодира с помощта на схемата за кодиране base64 на безопасен тип URL адрес и име на файл. |
публичен статичен Base64.Decoder getMimeDecoder() | Той връща Base64.Decoder, който декодира с помощта на MIME тип схема за декодиране base64. |
публичен статичен Base64.Encoder getMimeEncoder() | Той връща Base64.Encoder, който кодира с помощта на MIME тип схема за кодиране base64. |
public static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator) | Той връща Base64.Encoder, който кодира с помощта на MIME тип схема за кодиране base64 с указана дължина на реда и разделители на реда. |
публичен статичен Base64.Encoder getUrlEncoder() | Той връща Base64.Encoder, който кодира с помощта на схемата за кодиране base64 на безопасен тип URL адрес и име на файл. |
Base64.Decoder Методи
Методи | Описание |
---|---|
публичен байт [] декодиране (байт [] src) | Той декодира всички байтове от входния байтов масив, като използва схемата за кодиране Base64, записвайки резултатите в новоразпределен изходен байтов масив. Върнатият байтов масив е с дължината на получените байтове. |
публичен байт [] декодиране (низ src) | Той декодира Base64 кодиран низ в новоразпределен байтов масив, като използва схемата за кодиране Base64. |
публично int декодиране (байт [] src, байт [] dst) | Той декодира всички байтове от входния байтов масив, като използва схемата за кодиране Base64, като записва резултатите в дадения изходен байтов масив, започвайки от отместване 0. |
публичен ByteBuffer декодиране (ByteBuffer буфер) | Той декодира всички байтове от входния байтов буфер, като използва схемата за кодиране Base64, като записва резултатите в новоразпределен ByteBuffer. |
публична обвивка на InputStream (InputStream е) | Той връща входен поток за декодиране на Base64 кодиран байтов поток. |
Методи на Base64.Encoder
Методи | Описание |
---|---|
публичен байт [] кодиране (байт [] src) | Той кодира всички байтове от посочения байтов масив в новоразпределен байтов масив, като използва схемата за кодиране Base64. Върнатият байтов масив е с дължината на получените байтове. |
публично int кодиране (байт [] src, байт [] dst) | Той кодира всички байтове от посочения масив от байтове, като използва схемата за кодиране Base64, записвайки получените байтове в дадения изходен масив от байтове, започвайки от отместване 0. |
публичен низ encodeToString(байт[] src) | Той кодира посочения масив от байтове в низ, като използва схемата за кодиране Base64. |
публично кодиране на ByteBuffer (буфер на ByteBuffer) | Той кодира всички оставащи байтове от посочения байтов буфер в новоразпределен ByteBuffer, като използва схемата за кодиране Base64. При връщане позицията на изходния буфер ще бъде актуализирана до своя лимит; неговият лимит няма да е променен. Позицията на върнатия изходен буфер ще бъде нула и ограничението му ще бъде броят на получените кодирани байтове. |
публична обвивка на OutputStream (OutputStream os) | Той обвива изходен поток за кодиране на байтови данни, използвайки схемата за кодиране Base64. |
публичен Base64.Encoder withoutPadding() | Той връща екземпляр на енкодер, който кодира еквивалентно на този, но без да добавя символ за допълване в края на кодираните байтови данни. |
Пример за Java Base64: Основно кодиране и декодиране
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); } }
Изход:
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: 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); } }
Изход:
Encoded URL: aHR0cDovL3d3dy5qYXZhdHBvaW50LmNvbS9qYXZhLXR1dG9yaWFsLw== Decoded URL: http://www.javatpoint.com/java-tutorial/
Пример за Java Base64: 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); } }
Изход:
Encoded MIME message: SGVsbG8sIApZb3UgYXJlIGluZm9ybWVkIHJlZ2FyZGluZyB5b3VyIGluY29uc2lzdGVuY3kgb2Yg d29yaw== Decoded message: Hello, You are informed regarding your inconsistency of work