"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا تنتج Go و Pycrypto نتائج تشفير AES-CFB مختلفة؟

لماذا تنتج Go و Pycrypto نتائج تشفير AES-CFB مختلفة؟

نشر في 2025-02-06
تصفح:707

Why Do Go and Pycrypto Produce Different AES-CFB Encryption Results?

. للتحقيق في هذا التناقض ، نقوم بتحليل عينات الكود المقدمة.

في python ، crypto.cipher.aes يستخدم mode_cfb مع ناقل أولي محدد بشكل صريح (IV). على العكس ، في GO ، يتطلب aes.newcipher إنشاء صريح من تشفير كتلة AES والتثبيت اللاحق لـ CFBenCrypter أو CFBDecrypter مع IV المطلوب. تعمل Pycrypto على شرائح 8 بت ، والمعروفة باسم CFB8 ، بينما يستخدم GO مقاطع 16 بت افتراضيًا. يؤدي هذا الاختلاف إلى الاختلاف الملحوظ في نتائج التشفير. يمكن تعديل رمز CFBDecrypter الخاص بـ GO. على وجه التحديد ، يمكن تكييف طريقة XorKeyStream للتعامل مع الأجزاء 8 بت.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3