أداة فك تشفير AES

فك تشفير نص AES المشفّر: بيانات OpenSSL بصيغة «Salted__» أو ناتج CryptoJS أو مفتاح خام مع متجه التهيئة، بأنماط CBC وGCM وCTR وCFB وOFB وECB.

الناتج بتنسيق OpenSSL "Salted__" مرمّزًا بـ Base64: ملح عشوائي من 8 بايتات يليه النص المشفّر. يُشتق المفتاح وIV من عبارة المرور والملح، لذا يعطي النص نفسه نتيجة مختلفة في كل مرة. الأمر المكافئ:

openssl enc -aes-256-cbc -d -md md5 -a -A -k '…'

يعمل بالكامل في متصفحك. لا يتم رفع بياناتك أبدًا.

ما هو فك تشفير AES؟

تفك هذه الأداة تشفير نص AES داخل المتصفح. فهي تقرأ صيغة OpenSSL «Salted__» (سلاسل Base64 تبدأ بـ U2FsdGVkX1) التي ينتجها openssl enc وكذلك CryptoJS.AES.encrypt(text, passphrase)، أو نصًا مشفّرًا خامًا مع مفتاح hex وIV بأنماط CBC وCFB وCTR وOFB وECB وGCM الموثَّق. يجري التحقق من الحشو، فيُبلَّغ عن المفتاح الخاطئ بدلًا من إرجاع بيانات عشوائية.

كيفية استخدام فك تشفير AES

  1. اختر مصدر المفتاح نفسه الذي استُخدم في التشفير: عبارة مرور (متوافقة مع OpenSSL) لبيانات U2FsdGVkX1… («Salted__»)، أو مفتاح خام + IV (hex) للنص المشفّر الخام.
  2. أدخل عبارة المرور (مع اشتقاق المفتاح نفسه)، أو مفتاح hex وIV.
  3. اضبط النمط والحشو كما عند المرسِل، ثم الصق النص المشفّر (Base64 أو Hex).
  4. انقر فك التشفير. أبقِ الناتج نصًا (UTF-8)، أو انتقل إلى Hex إذا كان النص الصريح ثنائيًا.

مثال

الإدخال
U2FsdGVkX19HHh9Vv809WnL0M8IWPgnpihePLw8JpDQ= (passphrase "secret", AES-256, CBC, EVP_BytesToKey MD5)
الإخراج
Hello, World!

نص مشفّر ناتج عن openssl enc -aes-256-cbc -md md5 -a -k secret.

متى تستخدم فك تشفير AES

استخدمها لقراءة بيانات مشفّرة بـ OpenSSL أو CryptoJS، أو لتتبّع سبب عجز تطبيقك عن فك تشفير شيء ما، أو للتحقق من متجهات الاختبار. تحتاج إلى عبارة المرور أو المفتاح الصحيح؛ فالأداة لا تستعيد المفاتيح المفقودة ولا تكسر AES. وإذا كان النص المشفّر قادمًا من منتج آخر (ZIP أو قاعدة بيانات أو مدير كلمات مرور) فغالبًا له صيغة حاوية خاصة ولن يُفك هنا.

كيف يعمل فك تشفير AES

في بيانات عبارة المرور يجب أن تكون أول 16 بايت هي Salted__ يليها ملح من 8 بايت. يُعاد اشتقاق المفتاح وIV من عبارة المرور والملح بواسطة EVP_BytesToKey (MD5) أو PBKDF2-HMAC-SHA256 بعدد التكرارات الذي تحدده، تمامًا كما يفعل openssl enc -d، ثم يُفك تشفير الباقي. ومع المفتاح الخام يُستخدم مفتاح hex وIV مباشرة. وبعد فك CBC/ECB يُفحص حشو PKCS#7 بايتًا بايتًا، وعدم التطابق يعني غالبًا مفتاحًا أو IV أو نمطًا أو حجم مفتاح خاطئًا. وفي GCM يتحقق Web Crypto من الوسم ذي 16 بايت في النهاية قبل عرض أي نص صريح.

حالات الاستخدام الشائعة

  • فك تشفير سلسلة U2FsdGVkX1… من openssl enc -aes-256-cbc -a
  • فحص قيمة شفّرها CryptoJS.AES.encrypt في تطبيق ويب
  • التحقق من نص AES-GCM المشفّر مع الوسم الذي ينتجه الخادم الخلفي
  • معرفة حجم المفتاح أو النمط المستخدم بتجربة الإعدادات المحتملة
  • فك تشفير بيانات اختبار أثناء تصحيح أخطاء واجهات API أو التكامل

ملاحظة أمنية

يجري فك التشفير محليًا؛ فلا تغادر عبارات المرور ولا النصوص الصريحة جهازك. وحده GCM يثبت أن البيانات لم تُعدَّل.

الأسئلة الشائعة

ماذا تعني رسالة «Invalid padding» أو «wrong passphrase»؟

أي أن آخر كتلة بعد فك التشفير لم تنتهِ بحشو PKCS#7 صالح. تحقق من عبارة المرور وحجم المفتاح (128/192/256) والنمط واشتقاق المفتاح (MD5 أم PBKDF2 وعدد تكراراته). يستخدم OpenSSL 1.1+ افتراضيًا -md sha256 دون -pbkdf2، وهذا غير مدعوم هنا؛ أعد التشفير باستخدام -md md5 أو -pbkdf2.

هل يمكنها فك ناتج CryptoJS؟

نعم. تستخدم CryptoJS.AES.encrypt(text, "passphrase").toString() صيغة Salted__ نفسها مع AES-256-CBC وEVP_BytesToKey/MD5، وهو الإعداد الافتراضي هنا.

نصي المشفّر لا يبدأ بـ U2FsdGVkX1. ماذا أفعل؟

إذن شُفّر بمفتاح خام. غيّر مصدر المفتاح إلى مفتاح خام + IV (hex) وأدخل المفتاح وIV اللذين استخدمهما البرنامج. بعض البرامج تضع IV في بداية النص المشفّر؛ افصله وأدخله في حقل IV.

لماذا يبدو ناتج فك التشفير حروفًا عشوائية؟

في الأنماط التدفقية (CTR وCFB وOFB) لا يوجد حشو للتحقق منه، فيعطي المفتاح الخاطئ بايتات عشوائية. وتبلغ الأداة عنها بأنها UTF-8 غير صالح؛ انتقل بالناتج إلى Hex إن كنت تتوقع بيانات ثنائية.

استكشف المزيد من الفئات