تعد BASE64 واحدة من أكثر طرق الترميز شيوعًا على الشبكة لنقل رمز بايت 8bit. يمكنك التحقق من RFC2045 ~ RFC2049 ، والذي يحتوي على مواصفات MIME مفصلة. يمكن استخدام ترميز BASE64 لتمرير معلومات التعريف أطول في بيئات HTTP. على سبيل المثال ، في نظام الثبات Java ، يتم استخدام BASE64 لتشفير معرف فريد طويل (عادةً ما يكون UUID 128 بت) في سلسلة ، يتم استخدامها كمعلمة في أشكال HTTP و HTTP GET GET. في التطبيقات الأخرى ، غالبًا ما يكون من الضروري تشفير البيانات الثنائية إلى نموذج مناسب للوضع في عناوين URL (بما في ذلك حقول النماذج المخفية).
في هذا الوقت ، لا يكون ترميز BASE64 قصيرًا فحسب ، بل أيضًا غير قابل للقراءة ، أي أن البيانات المشفرة لن يتم رؤيتها مباشرة بواسطة العين المجردة.
هناك العديد من الطرق لتشفير جافا. الآن سأشارككم طريقة تشفير BASE64.
حزمة com.crypt ؛ استيراد sun.misc.base64decoder ؛ استيراد sun.misc.base64encoder ؛/** * base64 التشفير والتشفير * @author yuanwei */public class base64 {] BASE64DECODER ()). decodeBuffer (مفتاح) ؛ } / ** * BASE64 Encryption * * param Key * Return * @Throws استثناء * / سلسلة ثابتة عامة encryptbase64 (مفتاح byte []) استثناء {return (new BASE64ENCODER ()). ENCODEBUFFER (KEY) ؛ }}لماذا تستخدم تشفير BASE64؟
دور الترميز BASE64: نظرًا لأن بعض الأنظمة يمكنها استخدام أحرف ASCII فقط. BASE64 هي طريقة تستخدم لتحويل البيانات من الأحرف غير ASCII إلى أحرف ASCII. يستخدم الأحرف والترميزات المستخدمة في الجدول أدناه.
علاوة على ذلك ، فإن BASE64 مناسب بشكل خاص لإرسال البيانات بسرعة تحت بروتوكولات HTTP و MIME.
BASE64 ليست في الواقع خوارزمية تشفير وفك التشفير في مجال الأمان. على الرغم من أنك في بعض الأحيان ترى ما يسمى بتشفير BASE64 وفك التشفير. في الواقع ، لا يمكن اعتبار BASE64 إلا خوارزمية ترميز ، وترميز محتوى البيانات ليكون مناسبًا للإرسال. على الرغم من أن النص الأصلي يصبح تنسيقًا للحرف الذي لا يمكن رؤيته بعد ترميز BASE64 ، إلا أن هذه الطريقة أساسية وبسيطة للغاية.
تتطلب طريقة الترميز BASE64 تحويل كل ثلاثة بايت 8 بت إلى أربعة بايتات 6bit. من بينها ، كل 6 أجزاء صالحة من البايتات الأربعة بعد التحويل هي بيانات صالحة ، ويتم استكمال البتات الاحتياطية مع 0 لتصبح بايت واحد. لذلك ، فإن تكرار البيانات الناجم عن BASE64 ليس خطيرًا للغاية. BASE64 هي طريقة تشفير شائعة اليوم لأنها سريعة وبسيطة للرمز.
ملحق المعرفة:
BASE64 القياسي غير مناسب للإرسال المباشر في عناوين URL ، لأن تشفير URL سيغير الأحرف "/" و "+" في BASE64 القياسية إلى نموذج مثل "٪ XX" ، ويجب تحويل هذه الأرقام "٪" عند تخزينها في قاعدة البيانات ، لأن الأرقام "٪" قد تم استخدامها كطاردات برية في ANSI SQL.
لحل هذه المشكلة ، يمكن استخدام ترميز BASE64 المحسن لعناوين URL. لا يملأ الرقم "=" في النهاية ، ويغير "+" و "/" في BASE64 القياسية إلى "*" و "-على التوالي ، مما يزيل التحويل المطلوب أثناء تشفير URL وفك تشفيره وتخزين قواعد البيانات ، وتجنب الزيادة في طول معلومات الترميز في هذه العملية ، وتؤدي إلى تحديد أشكال معرفات الكائنات في قواعد البيانات ، وما إلى ذلك.
هناك متغير Base64 محسن آخر للتعبيرات العادية ، والذي يتغير "+" و "/" إلى "!" و "-" ، لأن "+" ، "*" و "[" و "]" المستخدمة في IRCU قد يكون لها معاني خاصة في التعبيرات العادية.
هناك أيضًا بعض المتغيرات التي تغير "+/" إلى "_-" أو "._" (تستخدم كاسم معرف في لغة البرمجة) أو ".-" (المستخدمة في nmtoken في XML) أو حتى "_:" (تستخدم للاسم في XML).
يتطلب BASE64 تحويل كل ثلاثة بايت 8 بت إلى أربعة بايت 6bit (3*8 = 4*6 = 24) ، ثم إضافة اثنين من 0 إلى 6 بت لتشكيل أربعة بايت 8bit. وهذا يعني أن السلسلة المحولة ستكون نظريًا 1/3 أطول من تلك الأصلية.
ما ورد أعلاه هو كل شيء حول BASE64 و BASE64 تشفير وفك التشفير. آمل أن يكون ذلك مفيدًا في تشفير التعلم وفك التشفير.