توفر 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 الذي يقوم بفك التشفير باستخدام عنوان URL ونظام ترميز base64 من النوع الآمن لاسم الملف. |
Base64.Decoder العام الثابت getMimeDecoder() | تقوم بإرجاع Base64.Decoder الذي يقوم بفك التشفير باستخدام نظام فك التشفير base64 من نوع MIME. |
Base64.Encoder العام الثابت getMimeEncoder() | تقوم بإرجاع Base64.Encoder الذي يقوم بالتشفير باستخدام نظام ترميز base64 من نوع MIME. |
Base64.Encoder العام الثابت getMimeEncoder(int lineLength, byte[] lineSeparator) | تقوم بإرجاع Base64.Encoder الذي يقوم بالتشفير باستخدام نظام ترميز base64 من نوع MIME مع طول سطر محدد وفواصل أسطر. |
Base64.Encoder العام الثابت getUrlEncoder() | تقوم بإرجاع Base64.Encoder الذي يقوم بالترميز باستخدام نظام ترميز base64 من النوع الآمن لعنوان URL واسم الملف. |
طرق Base64.Decoder
طُرق | وصف |
---|---|
البايت العام [] فك التشفير (البايت [] src) | يقوم بفك تشفير جميع البايتات من مصفوفة بايت الإدخال باستخدام نظام ترميز Base64، وكتابة النتائج في مصفوفة بايت الإخراج المخصصة حديثًا. صفيف البايت الذي تم إرجاعه هو بطول البايتات الناتجة. |
البايت العام [] فك التشفير (سلسلة src) | يقوم بفك تشفير سلسلة Base64 المشفرة إلى صفيف بايت مخصص حديثًا باستخدام نظام تشفير Base64. |
فك ترميز int العام (بايت [] src، بايت [] dst) | يقوم بفك تشفير جميع البايتات من مصفوفة بايت الإدخال باستخدام نظام ترميز Base64، وكتابة النتائج في مصفوفة بايت الإخراج المحددة، بدءًا من الإزاحة 0. |
فك تشفير ByteBuffer العام (ByteBuffer buffer) | يقوم بفك تشفير جميع البايتات من المخزن المؤقت لبايت الإدخال باستخدام نظام ترميز Base64، وكتابة النتائج في ByteBuffer المخصص حديثًا. |
التفاف InputStream العام (InputStream هو) | تقوم بإرجاع دفق إدخال لفك تشفير دفق البايت المشفر Base64. |
Base64.طرق التشفير
طُرق | وصف |
---|---|
البايت العام [] ترميز (بايت [] src) | يقوم بتشفير كافة البايتات من صفيف البايت المحدد إلى صفيف البايت المخصص حديثًا باستخدام نظام ترميز Base64. صفيف البايت الذي تم إرجاعه هو بطول البايتات الناتجة. |
تشفير int العام (بايت [] src، بايت [] dst) | يقوم بتشفير كافة البايتات من مصفوفة البايتات المحددة باستخدام نظام ترميز Base64، وكتابة البايتات الناتجة إلى مصفوفة بايتات الإخراج المحددة، بدءًا من الإزاحة 0. |
سلسلة عامة encodeToString (بايت [] src) | يقوم بتشفير صفيف البايت المحدد في سلسلة باستخدام نظام ترميز Base64. |
ترميز ByteBuffer العام (ByteBuffer buffer) | يقوم بتشفير كافة وحدات البايت المتبقية من المخزن المؤقت للبايت المحدد في ByteBuffer المخصص حديثًا باستخدام نظام ترميز Base64. عند العودة، سيتم تحديث موضع المخزن المؤقت المصدر إلى الحد الأقصى؛ لن يتم تغيير الحد الخاص به. سيكون موضع المخزن المؤقت للإخراج الذي تم إرجاعه صفرًا وسيكون حده هو عدد البايتات المشفرة الناتجة. |
التفاف OutputStream العام (OutputStream OS) | يقوم بتغليف دفق الإخراج لتشفير بيانات البايت باستخدام نظام ترميز Base64. |
Base64.Encoder العام بدون الحشو () | تقوم بإرجاع مثيل التشفير الذي يشفر بشكل مكافئ لهذا، ولكن دون إضافة أي حرف الحشو في نهاية بيانات البايت المشفرة. |
مثال 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