Toolonit
  1. الرئيسية
  2. التشفير
  3. تشفير / فك التشفير
  4. AES

تشفير AES وفك تشفيره

شفّر النصوص وفكّ تشفيرها بـ AES-128 أو 192 أو 256، بأنماط GCM وCBC وCTR وغيرها.

التشفير باستخدام

ستحتاج إليها مرة أخرى لفك التشفير. لا يغادر أي شيء تكتبه هذه الصفحة.

عدد تكرارات PBKDF2

القيمة الافتراضية في OpenSSL هي 10,000. ويصلح أي عدد: فالعدد الأكبر يجعل تخمين كلمة المرور أبطأ؛ ويحتاج فك التشفير إلى العدد نفسه.

النمط

الخيار المعتاد مع OpenSSL. يحتاج إلى IV؛ ويحشو النص حتى يكمل الكتل.

طول المفتاح
صيغة المخرجات
المكافئ في OpenSSL
openssl enc -aes-256-cbc -pbkdf2 -iter 10000 -a -A

يطلب OpenSSL كلمة المرور؛ الصق النص فيه، أو أضف ملفَّي -in و-out.

شفّر النصوص بـ AES-256، أو AES-128 أو AES-192، باستخدام كلمة مرور أو مفتاح وIV من اختيارك، أو الصق نصًا مشفّرًا بـ AES بصيغة Base64 أو hex لفك تشفيره. مع كلمة المرور تأتي النتيجة بصيغة openssl enc -pbkdf2 نفسها: ترويسة Salted__ ثم ملح عشوائي من 8 بايت ثم النص المشفّر، ويُشتق المفتاح وIV بخوارزمية PBKDF2-HMAC-SHA256. والإعدادات الافتراضية، أي AES-256 بنمط CBC مع حشو PKCS#7 ومخرجات Base64، تطابق الأمر openssl enc -aes-256-cbc -pbkdf2 -a، أما أنماط GCM وCTR وCFB وOFB وECB فعلى بُعد نقرة واحدة. وتتحدّث النتيجة أثناء الكتابة. يجري كل شيء داخل متصفحك، فلا يغادر نصك ولا كلمة المرور ولا المفتاح جهازك أبدًا، والأداة مجانية ولا تتطلب تسجيلًا.

طريقة تشفير النصوص وفك تشفيرها بـ AES

  1. اختر «تشفير» أو «فك التشفير». اكتب النص المراد تشفيره، أو الصق نص Base64 أو hex المراد فك تشفيره، وستُكتشف صيغته تلقائيًا.
  2. أدخل كلمة مرور (يُنشئ زر «توليد» كلمة مرور قوية)، أو انتقل إلى وضع «المفتاح وIV (hex)» وأدخل مفتاحًا وIV بالطول المعروض أو ولّدهما.
  3. اختر طول المفتاح (128 أو 192 أو 256 بت) والنمط. ولفك التشفير استخدم كلمة المرور وعدد التكرارات وطول المفتاح والنمط نفسها التي شُفّر بها النص.
  4. انسخ النتيجة أو نزّلها، أو اضغط «تبديل» لنقلها إلى خانة الإدخال وعكس الاتجاه. وفي قسم «المكافئ في OpenSSL» تعرض الصفحة أمر openssl المطابق دون كلمة مرورك.

الميزات

  • AES-128 وAES-192 وAES-256 بأنماط CBC أو GCM أو CTR أو CFB أو OFB أو ECB
  • وضع كلمة المرور بصيغة openssl enc -pbkdf2: ترويسة Salted__ وملح عشوائي من 8 بايت، والمفتاح وIV مشتقان بـ PBKDF2-HMAC-SHA256
  • 10,000 تكرار لـ PBKDF2 (القيمة الافتراضية في OpenSSL) أو 100,000 أو 600,000، أو أي عدد حتى 10 ملايين
  • وضع «المفتاح وIV» بمفتاح وIV بصيغة hex من عندك، أو بقيم عشوائية من زر «توليد»
  • يكتشف AES-GCM كلمة المرور أو المفتاح الخاطئ وأي تعديل على النص المشفّر
  • حشو PKCS#7، أو بلا حشو في نمطي CBC وECB
  • مخرجات Base64 أو hex، مع التعرّف التلقائي على مدخلات Base64 أو hex
  • أمر openssl enc المطابق لكل الأنماط ما عدا GCM

هل تبقى بياناتي خاصة؟

نعم. يعمل AES بتقنية WebAssembly داخل متصفحك، ويحوّل Web Crypto المدمج في المتصفح كلمة المرور إلى مفتاح. لا يُرفع نصك ولا كلمة المرور ولا المفتاح ولا تُحفظ، ولا يتضمنها أبدًا أمر openssl الذي تعرضه الصفحة.

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

أي نمط من أنماط AES أستخدم؟

للبيانات الجديدة استخدم GCM: فهو إلى جانب التشفير يكتشف أي تعديل على النص وأي كلمة مرور خاطئة. واختر CBC، وهو الافتراضي، إذا كان الطرف الآخر يستخدم openssl enc الذي لا يقرأ GCM، ولا تختر CTR أو CFB أو OFB إلا للتوافق مع نظام قائم. وتجنّب ECB: فالكتل المتطابقة ذات الـ 16 بايت تعطي مخرجات متطابقة، فتظهر أنماط النص من خلال التشفير.

هل يمكنني فك تشفير النتيجة باستخدام OpenSSL؟

نعم، ما عدا GCM. مع الإعدادات الافتراضية: echo 'U2FsdGVkX1…' | openssl enc -d -aes-256-cbc -pbkdf2 -iter 10000 -a -A، ثم يطلب OpenSSL كلمة المرور. غيّر 256 وcbc إلى طول المفتاح والنمط اللذين استخدمتهما (ecb أو ctr أو cfb أو ofb)، و-iter إلى عدد التكرارات، وأضف -nopad إن كنت قد أوقفت الحشو؛ ولمخرجات hex احذف -a -A ومرّر النص أولًا عبر xxd -r -p. وفي وضع «المفتاح وIV» استخدم -K <المفتاح بـ hex> -iv <IV بـ hex> بدل -pbkdf2 -iter. أما GCM فيرفضه openssl enc لأنه لا يدعم خوارزميات AEAD، لذا لا يُقرأ نص GCM إلا هنا أو برمجيًا.

لماذا تختلف النتيجة في كل مرة؟

لأن كل عملية تشفير بكلمة مرور تختار ملحًا عشوائيًا جديدًا، فيتغيّر المفتاح وIV والمخرجات كلها في كل مرة، وكل نسخة منها يُفك تشفيرها إلى النص نفسه. وهذا مقصود: فلا يستطيع أحد أن يعرف أن رسالتين متطابقتان. أما في وضع «المفتاح وIV» فتتكرر المخرجات إذا تكرر المفتاح وIV، لذا ولّد IV جديدًا لكل رسالة: فإعادة استخدامه مع المفتاح نفسه تُضعف CBC وتكسر CTR وGCM.

لماذا تظهر رسالة بأن كلمة المرور خاطئة؟

لأن شيئًا ما لا يتطابق: يجب أن تكون كلمة المرور وعدد التكرارات وطول المفتاح والنمط والحشو كلها كما كانت عند التشفير، والنص المشفّر لا يحفظ إلا الملح. والنص الذي يبدأ بـ U2FsdGVkX1 لكنه أُنشئ بـ openssl enc دون -pbkdf2، أو بمكتبة CryptoJS مع عبارة مرور، يستخدم طريقة أقدم لاشتقاق المفتاح (EVP_BytesToKey) لا تقرؤها هذه الصفحة؛ فأعد تشفيره مع -pbkdf2، أو استخدم وضع «المفتاح وIV» إن كان لديك المفتاح وIV الخامّان.

هل تشفير AES-256 آمن؟

نعم. لا يوجد هجوم عملي على AES بأي طول مفتاح، ونقطة الضعف هي كلمة المرور. استخدم كلمة مرور طويلة وعشوائية (يُنشئها زر «توليد»)، وإذا كنت تتحكم في الطرفين فارفع التكرارات إلى 600,000، وهو الرقم الذي توصي به OWASP حاليًا لـ PBKDF2-HMAC-SHA256. واختر GCM إن كنت تحتاج أيضًا إلى التأكد من أن النص لم يُعدَّل.

أدوات ذات صلة