أخطاء الحشو في Base64: السبب والإصلاح
شرح موجز لعلامة = وخطأ incorrect padding وقواعد الإصلاح الآمن.
الجواب المختصر
يعمل Base64 في مجموعات من أربعة محارف. قد تحتاج المجموعة الأخيرة إلى علامة = واحدة أو علامتين كي يعيد المفكك بناء البايتات الأخيرة.
افحص الطول أولا
احذف المسافات وفواصل الأسطر. إذا كان باقي الطول على 4 يساوي 0 فلا تضف شيئا. إذا كان 2 فأضف ==. إذا كان 3 فأضف =. إذا كان 1 فالقيمة ناقصة أو تستخدم أبجدية أخرى.
افحص الأبجدية
يستخدم Base64 القياسي + و/. يستخدم Base64URL - و_. تستخدم JWT ورموز URL هذه الأبجدية كثيرا.
لا تخف التلف
أضف الحشو عندما تؤكد قاعدة الطول ذلك فقط. لا تحذف محارف عشوائية لإخفاء الخطأ.
مسار آمن
انسخ القيمة من جديد، احذف الفراغات، اختر Base64 أو Base64URL، طبّق قاعدة mod 4، ثم افحص نوع الناتج.