Java מספקת מחלקה Base64 להתמודדות עם הצפנה. אתה יכול להצפין ולפענח את הנתונים שלך באמצעות שיטות מסופקות. עליך לייבא את java.util.Base64 לקובץ המקור שלך כדי להשתמש בשיטות שלו.
מחלקה זו מספקת שלושה מקודדים ומפענחים שונים להצפנת מידע בכל רמה. אתה יכול להשתמש בשיטות אלה ברמות הבאות.
קידוד ופענוח בסיסיים
הוא משתמש באלפבית Base64 שצוין על ידי Java ב-RFC 4648 ו-RFC 2045 עבור פעולות קידוד ופענוח. המקודד אינו מוסיף שום תו מפריד שורות. המפענח דוחה נתונים המכילים תווים מחוץ לאלפבית base64.
קידוד ופענוח כתובת URL ושם קובץ
הוא משתמש באלפבית Base64 שצוין על ידי Java ב-RFC 4648 עבור פעולות קידוד ופענוח. המקודד אינו מוסיף שום תו מפריד שורות. המפענח דוחה נתונים המכילים תווים מחוץ לאלפבית base64.
לְחַקוֹת
הוא משתמש באלפבית Base64 כפי שצוין ב-RFC 2045 עבור פעולות קידוד ופענוח. הפלט המקודד חייב להיות מיוצג בשורות של לא יותר מ-76 תווים כל אחת ומשתמש בהחזרת כרכרה ' ' ולאחריה מיד בהזנת שורה ' ' כמפריד השורות. לא נוסף מפריד שורות לסוף הפלט המקודד. כל מפרידי השורות או התווים האחרים שאינם נמצאים בטבלת האלפבית base64 מתעלמים בפעולת הפענוח.
מחלקות מקוננות של Base64
מעמד | תיאור |
---|---|
מפענח Base64 | מחלקה זו מיישמת מפענח לפענוח נתוני בתים באמצעות ערכת הקידוד Base64 כמפורט ב-RFC 4648 ו-RFC 2045. |
Base64.Encoder | מחלקה זו מיישמת מקודד לקידוד נתוני בתים באמצעות ערכת הקידוד Base64 כמפורט ב-RFC 4648 ו-RFC 2045. |
שיטות Base64
שיטות | תיאור |
---|---|
public static Base64.Decoder getDecoder() | הוא מחזיר Base64.Decoder שמפענח באמצעות ערכת הקידוד base64 מסוג Basic. |
public static Base64.Encoder getEncoder() | הוא מחזיר Base64.Encoder המקודד באמצעות ערכת הקידוד base64 מסוג Basic. |
public static Base64.Decoder getUrlDecoder() | הוא מחזיר Base64.Decoder המפענח באמצעות ערכת הקידוד של ה-URL ו-Filename safe type base64. |
public static Base64.Decoder getMimeDecoder() | הוא מחזיר Base64.Decoder שמפענח באמצעות סכימת הפענוח base64 מסוג MIME. |
public static Base64.Encoder getMimeEncoder() | זה מחזיר Base64.Encoder המקודד באמצעות ערכת הקידוד base64 מסוג MIME. |
public static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator) | הוא מחזיר Base64.Encoder המקודד באמצעות ערכת הקידוד base64 מסוג MIME עם אורך שורה ומפרידי שורות מוגדרים. |
public static Base64.Encoder getUrlEncoder() | היא מחזירה Base64.Encoder המקודד באמצעות ערכת הקידוד של ה-URL ו-Filename safe type base64. |
שיטות מפענח Base64
שיטות | תיאור |
---|---|
public byte[] decode(byte[] src) | הוא מפענח את כל הבתים ממערך בתים הקלט באמצעות ערכת הקידוד Base64, כותב את התוצאות לתוך מערך בתים פלט שהוקצה לאחרונה. מערך הבתים המוחזר הוא באורך של הבתים המתקבלים. |
public byte[] decode(String src) | הוא מפענח מחרוזת מקודדת Base64 למערך בתים שהוקצה לאחרונה באמצעות ערכת הקידוד Base64. |
public int decode(byte[] src, byte[] dst) | הוא מפענח את כל הבתים ממערך בתים הקלט באמצעות ערכת הקידוד Base64, כותב את התוצאות למערך בתים של הפלט הנתון, החל בהיסט 0. |
פענוח ByteBuffer ציבורי (חיץ ByteBuffer) | הוא מפענח את כל הבתים ממאגר הבתים הקלט באמצעות ערכת הקידוד Base64, כותב את התוצאות לתוך ByteBuffer שהוקצה לאחרונה. |
גלישת InputStream ציבורית (InputStream היא) | הוא מחזיר זרם קלט לפענוח זרם בתים מקודד Base64. |
Base64.Encoder Methods
שיטות | תיאור |
---|---|
public byte[] encode(byte[] src) | הוא מקודד את כל הבתים ממערך הבתים שצוין למערך בתים שהוקצה לאחרונה באמצעות ערכת הקידוד Base64. מערך הבתים המוחזר הוא באורך של הבתים המתקבלים. |
public int encode(byte[] src, byte[] dst) | הוא מקודד את כל הבתים ממערך הבתים שצוין באמצעות ערכת הקידוד Base64, כותב את הבתים המתקבלים למערך הבתים של הפלט הנתון, החל בהיסט 0. |
public String encodeToString(byte[] src) | הוא מקודד את מערך הבתים שצוין למחרוזת באמצעות ערכת הקידוד Base64. |
קידוד ByteBuffer ציבורי (מאגר ByteBuffer) | הוא מקודד את כל הבתים הנותרים ממאגר הבתים שצוין לתוך ByteBuffer שהוקצה לאחרונה באמצעות ערכת הקידוד Base64. עם החזרה, מיקום מאגר המקור יעודכן עד לקצה גבול היכולת; הגבול שלו לא ישתנה. מיקום מאגר הפלט המוחזר יהיה אפס והמגבלה שלו תהיה מספר הבתים המקודדים שיתקבלו. |
גלישת OutputStream ציבורית (OutputStream OS) | הוא עוטף זרם פלט לקידוד נתוני בתים באמצעות ערכת הקידוד Base64. |
public 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