الأساس 64

من ويكيبيديا، الموسوعة الحرة
اذهب إلى: تصفح، ‏ ابحث

التعريف[عدل]

الأساس 64 طريقة ترميز لتحويل ترميز أسكي للحروف إلى ترميز على أساس 64 ثم استخدام الحرف المقابل له في ترميز 64 [انظر جدول 1 في الأسفل ]
يستخدم الترميز بالأساس 64 عندما تكون هناك حاجة لترميز البيانات الثنائية المنقولة والممثلة لبيانات نصية، من أجل التأكد أن البيانات لا تزال سليمة بعد عملية النقل.
هناك العديد من التطبيقات التي تستخدم الترميز بالأساس 64 مثل البريد الإلكتروني باستخدام معيار الإنترنت MIME وكذلك في تخزين البيانات المعقدة في الإكس إم إل [1].

مبدأ العمل[عدل]

يتكون البايت من 8 بت، وفي حال أردنا تمثيل رقم من 0-63 ، فإنه يلزمنا فقط 6 بت، لأن 2 أس 6 = 64
وبالتالي سيكون هناك عدد فائض من البت، أي أن عدد الحروف بعد الترميز، يزيد عنها قبله. و يتطلب هذا النوع من الترميز أن يكون عدد الحروف في النص من مضاعفات رقم 3، من أجل أن نتمكن من تقسيمها إلى عدد من مضاعفات 6، وفي حال تعذر ذلك يضاف الحرف $ في النهاية فكلمة "Linux" تصبح بعد الترميز "TGludXg$".
[2]

الخطوات[عدل]

  1. يتم أولاً تمثيل أسكي كود للحروف بالترميز الثنائي و باستخدام 8 بت.

لو كان لدينا نص من ثلاثة حروف، فسكون لدينا 3*8 بت

  1. ثم يؤخذ هذا الترميز الثنائي كقطعة واحدة ويقسم إلى مجموعات من 6 بت.

في حالة تقسيم الترميز الثنائي لثلاثة حروف إلى مجموعات من 6 بت، فإن النتيجة 4 مجموعات.

  1. يتم حساب الرقم المقابل لها والذي يمثل الرقم التسلسلي للحرف بعد الترميز.


مثال[عدل]

إذا أردنا ترميز كلمة "SPY" فترميز أسكي المقابل لها هو 83-80-89 وبالترميز الثنائي باستخدام 8 بت (0101001101010 00001011001) أي أن لدينا سلسلة من 24 بت يمكن تقسيمها إلى مجموعات من 6بت، لنحصل على الأرقام (20-53-1-25) وبالعودة إلى الجدول في الأسفل تصبح الكلمة بعد الترميز (U1BZ). ترميز كلمة "SPY" باستخدام أساس 64


جدول ترميز الأساس 64:

Value Char   Value Char   Value Char   Value Char
0 A 16 Q 32 g 48 w
1 B 17 R 33 h 49 x
2 C 18 S 34 i 50 y
3 D 19 T 35 j 51 z
4 E 20 U 36 k 52 0
5 F 21 V 37 l 53 1
6 G 22 W 38 m 54 2
7 H 23 X 39 n 55 3
8 I 24 Y 40 o 56 4
9 J 25 Z 41 p 57 5
10 K 26 a 42 q 58 6
11 L 27 b 43 r 59 7
12 M 28 c 44 s 60 8
13 N 29 d 45 t 61 9
14 O 30 e 46 u 62 +
15 P 31 f 47 v 63 /

المصادر[عدل]

  1. ^ http://en.wikipedia.org/wiki/Base64
  2. ^ Yu, Lili, Wang Zhijuan, and Wang, Weifeng. 2012. The Application of Hybrid Encryption Algorithm in Software Security. page 2