Skip to content

فك تشفير AES — يدعم OpenSSL/CryptoJS

فك تشفير AES أونلاين — GCM/CBC/CTR، عبارة مرور أو مفتاح خام، يكتشف تلقائيًا صيغة OpenSSL وCryptoJS "U2FsdGVkX1". يعمل 100% داخل المتصفح، والمفاتيح لا تغادر الصفحة أبدًا.

بدون تتبّع يعمل في المتصفّح مجاني
كل شيء يعمل داخل متصفحك — مفتاحك وبياناتك لا يغادران هذه الصفحة أبدًا.
موصى به
حجم المفتاح
نوع المفتاح
خيارات متقدّمة
النص الصريح
بحاجة إلى صفحة التشفير المخصّصة؟
تمت مراجعته للدقّة التعموية مقابل FIPS 197 وNIST SP 800-38D وOWASP ومواصفة W3C Web Cryptoفريق أمان Go-Tools · Jul 16, 2026

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

فك تشفير AES هو المعكوس الدقيق للتشفير: نفس المفتاح المتماثل الذي شوَّش البيانات يُشغِّل جولات الخوارزمية بالعكس لاستعادة البايتات الأصلية. ولأن AES متماثل، لا يوجد «مفتاح فك تشفير» منفصل — يجب أن تقدِّم نفس المفتاح أو عبارة المرور، والوضع، وIV التي استُخدمت في التشفير تمامًا. اضبط المعاملات بشكل صحيح ويعود النص الصريح مطابقًا بايتًا ببايت؛ وأخطئ في واحد منها وستحصل على خطأ أو بيانات عشوائية.

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

تصل النصوص المشفّرة بأشكال مختلفة قليلة، وتفهم هذه الأداة ثلاثة منها. الصيغة 1 هي تخطيط عبارة المرور ذاتي الاحتواء لدينا: ملح بطول 16 بايت، ثم IV، ثم النص المشفّر (مع وسم GCM مُلحَقًا في وضع GCM) — يُفَكّ بعبارة المرور فقط. الصيغة 2 هي تخطيط المفتاح الخام: IV مُلحَق ببداية النص المشفّر، أو نص مشفّر «عارٍ» تُقدِّم فيه IV بشكل منفصل. الصيغة 3 هي تخطيط OpenSSL، الذي ينتجه أمر openssl enc وCryptoJS.

يستحق تخطيط OpenSSL هذا أن تتعرّف عليه بالنظر. يبدأ بثمانية بايتات ASCII هي Salted__، يتبعها ملح بطول 8 بايتات ثم النص المشفّر، وعندما يُرمَّز كل ذلك بـBase64 تظهر تلك البايتات الأولى دائمًا كبادئة U2FsdGVkX1. لذا إذا بدأ نص مشفّر سُلِّم إليك بـU2FsdGVkX1، فمن شبه المؤكّد أنه أُنتِج بأمر openssl enc أو باستدعاء CryptoJS AES.encrypt(text, passphrase). يشتق CryptoJS مفتاحه بدالة EVP_BytesToKey القديمة باستخدام تمريرة MD5 واحدة، بينما يستخدم openssl الحديث PBKDF2 — وهذا سبب كون اختيار دالة اشتقاق المفتاح الصحيحة هو كل ما يهمّ عند فك تشفير هذه النصوص. إذا كان مُدخَلك بترميز Base64 وتريد فقط رؤية البايتات الخام، فسيُظهرها مفكِّك Base64 لدينا. لإنشاء نص مشفّر بهذه الصيغ، استخدم أداة تشفير AES.

// AES-256-GCM decrypt with a passphrase (PBKDF2-HMAC-SHA256, 600,000 iterations).
// Identical code runs in the browser and in Node.js 20+ via Web Crypto.
async function aesGcmDecrypt(base64, passphrase) {
  const enc = new TextEncoder();
  const packed = Uint8Array.from(atob(base64), (c) => c.charCodeAt(0));
  const salt = packed.slice(0, 16), iv = packed.slice(16, 28); // salt(16) | iv(12)
  const ct = packed.slice(28);                                 // ciphertext + tag
  const baseKey = await crypto.subtle.importKey(
    'raw', enc.encode(passphrase), 'PBKDF2', false, ['deriveKey']);
  const key = await crypto.subtle.deriveKey(
    { name: 'PBKDF2', salt, iterations: 600000, hash: 'SHA-256' },
    baseKey, { name: 'AES-GCM', length: 256 }, false, ['decrypt']);
  const plain = await crypto.subtle.decrypt(
    { name: 'AES-GCM', iv }, key, ct);        // throws if the tag fails
  return new TextDecoder().decode(plain);     // recovered plaintext
}

الميزات الرئيسية

يكتشف تلقائيًا مُخرَج OpenSSL وCryptoJS

الصق نصًّا مشفّرًا يبدأ بـU2FsdGVkX1 وتتعرّف الأداة على صيغة Salted__ وتعرض تبديلًا بنقرة واحدة إلى تدفّق فك التشفير المطابق، فلا تصارع أبدًا خطأً بلا مخرج.

ثلاث دوال اشتقاق مفتاح

فكّ التشفير عبر كل أجيال صيغة openssl enc: PBKDF2 بعدد تكرارات مخصّص، أو EVP_BytesToKey بـSHA-256، أو تمريرة MD5 القديمة الوحيدة التي يستخدمها CryptoJS.

يشرح سبب فشل فك التشفير

بدلًا من خطأ عام، تحصل على تشخيص: مفتاح خاطئ مقابل IV خاطئ، فشل مصادقة GCM، خطأ حشو CBC، تلوّث Base64، أو «هذا يبدو كنص من عصر MD5، جرِّب EVP-MD5».

أمر openssl المكافئ يُعرَض حيًّا

شاهد أمر openssl enc -d الدقيق الذي يُعيد إنتاج فك التشفير على سطر الأوامر، بعدد التكرارات وكل شيء، لتتحقّق من النتيجة خارج المتصفح.

عبارة مرور أو مفتاح خام، GCM/CBC/CTR

يتعامل مع نص مشفّر ذاتي الاحتواء بعبارة مرور، ونص مشفّر بمفتاح خام مع IV مُلحَق أو مُقدَّم بشكل منفصل، وجميع أوضاع Web Crypto الثلاثة.

‏100% داخل متصفحك

تُعالَج النصوص المشفّرة والمفاتيح محليًا عبر Web Crypto API ولا تُرفَع أبدًا — يمكنك التحقّق عبر تبويب «الشبكة» أو بالانتقال دون اتصال.

أمثلة فك تشفير AES

فك تشفير نص مشفّر ذاتي الاحتواء بعبارة مرور (GCM)

الملح(16) ‖ IV(12) ‖ النص المشفّر ‖ الوسم(16)، بترميز Base64 — من صفحة التشفير
The quick brown fox jumps over the lazy dog.

هذا هو عكس مثال GCM في صفحة التشفير. خذ سلسلة Base64 ذاتية الاحتواء التي أنتجتها لعبارة المرور hunter2، والصقها هنا بالوضع GCM، وحجم مفتاح 256، ونوع مفتاح عبارة مرور، ونفس عبارة المرور hunter2، فتعود الجملة الأصلية. لا تُدخِل الملح أو IV بشكل منفصل — تقرأ الأداة الملح بطول 16 بايت وIV بطول 12 بايت من مقدّمة السلسلة، وتشتق المفتاح بـPBKDF2-HMAC-SHA256 ‏(600,000 تكرار)، وتتحقّق من وسم GCM المُلحَق بطول 128 بت قبل إعادة أي نص. اضغط «تحميل مثال» في صفحة التشفير لتوليد سلسلة جديدة، ثم فكّ تشفيرها هنا.

فك تشفير مُخرَج OpenSSL/‏PBKDF2 حقيقي

U2FsdGVkX18AESIzRFVmd1PBwxIFQpF+VgIhTK0aDHQ=
Attack at dawn!

هذا مُخرَج حقيقي من أمر openssl enc. الصقه، وبدِّل إلى وضع OpenSSL (الوضع CBC، نوع المفتاح عبارة مرور)، وأدخل عبارة المرور correct-horse، واختر دالة اشتقاق المفتاح PBKDF2، واضبط التكرارات على 10,000 — فيكون النص الصريح Attack at dawn!. أخبرت بادئة U2FsdGVkX1 الأداةَ بأن هذه صيغة Salted__، والملح بطول 8 بايتات يقع مباشرةً بعد تلك الترويسة داخل Base64. يمكنك إعادة إنتاج فك التشفير بالضبط على سطر الأوامر: echo 'U2FsdGVkX18AESIzRFVmd1PBwxIFQpF+VgIhTK0aDHQ=' | openssl enc -d -aes-256-cbc -pbkdf2 -iter 10000 -pass pass:correct-horse -base64 -A. إذا فشل نص مشفّر مشابه مع PBKDF2، فمن المرجّح أنه صُنِع بـCryptoJS — بدِّل دالة الاشتقاق إلى EVP-MD5 وحاول مجددًا. اضغط «تحميل مثال OpenSSL» لملء هذه القيم تلقائيًا.

كيف تفكّ تشفير نص AES مشفّر

  1. 1

    الصق النص المشفّر

    أسقِط نصّك المشفّر بترميز Base64 أو سداسي عشري في حقل الإدخال. إذا كان يبدأ بـU2FsdGVkX1، تُعلِّمه الأداة كصيغة OpenSSL/CryptoJS وتعرض تبديلك إلى الوضع الصحيح.

  2. 2

    اضبط الصيغة والوضع

    بالنسبة لسلسلة ذاتية الاحتواء من هذه الأداة، أبقِ وضع عبارة المرور وGCM/CBC/CTR المطابق. لمُخرَج OpenSSL/CryptoJS، اقبل التبديل (CBC + عبارة مرور). لبيانات المفتاح الخام، اختر مفتاح خام والترميز، وقدِّم IV إذا لم يكن مُلحَقًا.

  3. 3

    اختر دالة اشتقاق المفتاح

    في وضع OpenSSL، اختر PBKDF2 (وعدد تكراراته)، أو EVP-SHA256، أو EVP-MD5 لمطابقة كيفية اشتقاق المفتاح. ‏EVP-MD5 هي التي يستخدمها CryptoJS.

  4. 4

    أدخل عبارة المرور أو المفتاح

    اكتب عبارة المرور الدقيقة، أو الصق المفتاح الخام الدقيق بترميز سداسي عشري أو Base64. يظهر النص الصريح على اليمين بمجرّد تطابق كل شيء.

  5. 5

    اقرأ التشخيص إذا فشل

    إذا حدث خطأ في فك التشفير، تُسمّي اللوحة السبب المرجّح — IV خاطئ، مفتاح خاطئ، خطأ حشو، تلوّث Base64، أو عدم تطابق دالة اشتقاق المفتاح — بحيث تستطيع تعديل إعداد واحد في كل مرة بدلًا من التخمين.

لماذا يفشل فك تشفير AES — وكيف تُصلِحه

فشل مصادقة GCM

يرفض GCM إعادة النص الصريح إذا لم يتحقّق الوسم. السبب هو عبارة مرور أو مفتاح خاطئ، أو الوضع الخاطئ، أو IV خاطئ، أو نص مشفّر مُعدَّل أو مبتور — لا يستطيع GCM تحديد أيّها. أعِد فحص كل واحد مقابل كيفية تشفير البيانات.

✗ خطأ
mode: CBC        // but the data was encrypted with GCM
=> Authentication failed
✓ صحيح
mode: GCM, same passphrase and key size as encryption
=> plaintext

CBC: كتلة أولى مشوَّشة تعني IV خاطئًا

في CBC، لا يؤثّر IV إلا على الكتلة الأولى بطول 16 بايت. إذا كانت الكتلة الأولى عشوائية والباقي يُفكّ بوضوح، فـIV لديك خاطئ؛ وإذا كان كل شيء عشوائيًا، فالمفتاح خاطئ.

✗ خطأ
iv: 00000000000000000000000000000000   (wrong IV)
=> first block corrupt, rest readable
✓ صحيح
iv: (the exact IV used to encrypt)
=> Attack at dawn!

خطأ حشو CBC / PKCS#7

خطأ الحشو يعني غالبًا أن المفتاح خاطئ؛ وقد يعني أيضًا أن النص المشفّر تالف أو مبتور أو لم يكن محشوًّا بـPKCS#7. تأكّد من نسخ النص المشفّر كاملًا وأن عبارة المرور ودالة الاشتقاق متطابقتان.

✗ خطأ
passphrase: hunter3   // one character off
=> padding error
✓ صحيح
passphrase: hunter2   // exact
=> plaintext

تلوّث Base64 (أو السداسي العشري)

الأسطر الجديدة أو المسافات أو علامات الاقتباس الذكية المنسوخة مع النص المشفّر تُفسِد فكّ الترميز. تُزيل الأداة المسافات تلقائيًا، لكن الأحرف المفقودة أو الزائدة لا تزال تُفشِل العملية.

✗ خطأ
“U2FsdGVkX1...”   (curly quotes and trailing junk copied in)
✓ صحيح
U2FsdGVkX18AESIzRFVmd1PBwxIFQpF+VgIhTK0aDHQ=   (clean Base64)

اكتُشِفت U2FsdGVkX1 لكن وضع OpenSSL مُطفَأ

إذا كان مُدخَلك يبدأ بـU2FsdGVkX1، فأنت أمام مُخرَج OpenSSL/CryptoJS Salted__، الذي لن يُفَكّ كسلسلة عبارة مرور عادية. تعرض الأداة شريطًا؛ اضغط «التبديل إلى وضع OpenSSL» واختر دالة الاشتقاق.

✗ خطأ
OpenSSL compatible: off
input: U2FsdGVkX1...
=> cannot parse
✓ صحيح
OpenSSL compatible: on, KDF chosen
=> plaintext

عدم تطابق دالة اشتقاق المفتاح (فخّ CryptoJS)

نص مشفّر يفشل مع PBKDF2 أو SHA-256 لكنه يُفَكّ بـEVP-MD5 أُنتِج بـCryptoJS أو openssl 1.0.2 وما قبله. على سطر الأوامر يحتاج ذلك إلى -md md5.

✗ خطأ
KDF: PBKDF2       // CryptoJS ciphertext
=> padding error
✓ صحيح
KDF: EVP-MD5      // matches CryptoJS
=> plaintext

ماذا يمكنك أن تفعل بفك تشفير AES

فكّ تشفير مُخرَج openssl enc
اقرأ كتلة Salted__ التي ينتجها openssl enc -aes-256-cbc دون النزول إلى طرفية: الصق Base64، وأدخل عبارة المرور، واختر دالة اشتقاق المفتاح، واحصل على نصّك الصريح.
فكّ تشفير نص CryptoJS مشفّر
استعِد بيانات من تطبيق قديم استخدم CryptoJS AES.encrypt(text, passphrase). اختر EVP-MD5 لمطابقة اشتقاق مفتاحه بتمريرة MD5 واحدة — الخطوة التي يُغفلها معظم الناس.
صحِّح فك تشفير يستمرّ بالفشل
عندما لا يستطيع كودك فك تشفير شيء ما، الصقه هنا لعزل ما إذا كانت المشكلة في المفتاح أو IV أو الوضع أو الترميز أو دالة اشتقاق المفتاح، باستخدام لوحة التشخيص.
تحقّق من دورة تشفير كاملة
تأكّد من أن النص المشفّر من صفحة تشفير AES أو من تطبيقك يُفَكّ عائدًا إلى البايتات الأصلية بالضبط.
افهم نصًّا مشفّرًا مجهولًا
حدِّد صيغة من شكلها — بادئة U2FsdGVkX1، أو بادئة ثابتة الطول تبدو كـIV — وتعرّف على كيفية إنتاجه قبل تجربة مفتاح.

آليات وصيغ فك تشفير AES

فك تشفير GCM — مُصادَق عليه
يُعيد GCM حساب الوسم بطول 128 بت فوق النص المشفّر ويقارنه قبل إعادة أي نص صريح؛ وعدم التطابق يُلقي خطأً بدلًا من تسريب بيانات تالفة. يستخدم IV بطول 96 بت المُلحَق في البداية. فشل GCM يعني أن المفتاح أو الوضع أو IV أو النص المشفّر خاطئ — لا تستطيع الخوارزمية إخبارك أيّهما، بل فقط أن المصادقة فشلت.
فك تشفير CBC — راقب الكتلة الأولى والحشو
لدى CBC بصمتا فشل مميّزتان. إذا كانت الكتلة الأولى فقط بطول 16 بايت مشوَّشة والباقي يبدو صحيحًا، فكان IV خاطئًا. إذا كانت كل الكتل عشوائية، فالمفتاح خاطئ. خطأ حشو PKCS#7 يعني عادةً أن المفتاح خاطئ، أو أن النص المشفّر تالف أو مبتور. لا يملك CBC وسمًا (على عكس بنية مُصادَق عليها مثل HMAC)، لذا قد يفكّ مفتاح خاطئ إلى بايتات تبدو معقولة.
فك تشفير CTR — صامت عند الخطأ
لا يُلقي CTR خطأً أبدًا: مفتاح خاطئ يُنتِج ببساطة بيانات عشوائية، تظهر عادةً كخطأ «ليس UTF-8 صالحًا» بمجرّد فكّ البايتات إلى نص. طابِق العدّاد/IV بالضبط. ولأنه لا يوجد فحص سلامة، تعامَل بحذرٍ مع أي مُخرَج CTR لم تُصادِق عليه بشكل منفصل.
تخطيطات النص المشفّر (F1 / F2 / F3)
الصيغة 1 (عبارة مرور) هي ملح(16) ثم IV ثم النص المشفّر، مع وسم GCM بطول 16 بايت مُلحَق في وضع GCM. الصيغة 2 (مفتاح خام) هي IV ثم النص المشفّر، أو نص مشفّر عارٍ مع IV مُقدَّم بشكل منفصل. الصيغة 3 (OpenSSL) هي ترويسة ASCIISalted__ ثم ملح بطول 8 بايتات ثم النص المشفّر. معرفة أيّ تخطيط لديك تُخبر الأداة أين يقع الملح وIV، والمفتاح الخام نفسه يجب أن يأتي من مولّد أرقام عشوائي مشفَّر — راجع مولّد مفتاح السر.
اشتقاق المفتاح: مطابقة ما شفَّر البيانات
بالنسبة لنص مشفّر ذاتي الاحتواء بعبارة مرور، تستخدم هذه الأداة PBKDF2-HMAC-SHA256 بـ600,000 تكرار. بالنسبة لنص OpenSSL/CryptoJS المشفّر، يجب أن تختار دالة الاشتقاق التي استُخدمت: PBKDF2 (افتراضي openssl -pbkdf2 هو 10,000 تكرار — اضبط عددك الدقيق)، أو EVP_BytesToKey بـSHA-256 (لـopenssl 1.1+ بدون -pbkdf2)، أو EVP_BytesToKey بـMD5 وتمريرة واحدة (CryptoJS وopenssl 1.0.2 وما قبله). الخطأ الكلاسيكي «لن يُفكّ» هو تجربة نص CryptoJS أو openssl القديم بـSHA-256 — بدِّل إلى EVP-MD5 وسيعمل.

أفضل ممارسات فك تشفير AES

ابدأ بتحديد الصيغة
قبل لمس الإعدادات، انظر إلى النص المشفّر. بادئة U2FsdGVkX1 تعني OpenSSL/CryptoJS؛ وسلسلة ذاتية الاحتواء من هذه الأداة هي صيغة عبارة مرور؛ وكتلة عارية تحتاج عادةً مفتاحًا خامًا وIV منفصلًا.
طابِق دالة اشتقاق المفتاح بالضبط
بالنسبة لنص OpenSSL/CryptoJS المشفّر، دالة الاشتقاق لا تقلّ أهمية عن عبارة المرور. إذا فشل PBKDF2، جرِّب EVP-MD5 (‏CryptoJS، وopenssl القديم)؛ ويجب أن يتطابق عدد التكرارات أيضًا، لا الخوارزمية فقط.
الصق النص المشفّر بشكل نظيف
أسطر جديدة أو مسافات شاردة من النسخ قد تُفسِد Base64. تُزيل هذه الأداة المسافات تلقائيًا، لكن إذا استمرّ فشل فك الترميز، تحقّق من علامات اقتباس ذكية، أو أحرف مفقودة، أو نسخ مبتور. يمكن لأداة Base64 لدينا مساعدتك في فحص سلسلة مشكوك فيها.
تعامَل مع نتيجة المفتاح الخاطئ بصدق
مع CTR أو CBC قد ينتج مفتاح خاطئ بايتات بدلًا من خطأ. إذا بدا المُخرَج عشوائيًا أو فشل فحص UTF-8، فالمفتاح أو IV خاطئ — لا تثق بمُخرَج يبدو جزئيًا صحيحًا.
لا تُرسِل أبدًا نصًّا مشفّرًا سرّيًا أو مفاتيح إلى خادم
الهدف من فك التشفير في المتصفح هو ألا يغادر أي شيء الصفحة. تجنّب الأدوات التي تُرفِع البيانات؛ تستخدم هذه الأداة Web Crypto محليًا، ويمكنك التحقّق عبر تبويب «الشبكة» أو بالانتقال دون اتصال. ‏AES-256 قويّ — معتمد ضمن CNSA 2.0 لمستوى TOP SECRET — فإذا تعذّر عليك فك التشفير، فالمشكلة في المعاملات، لا في الخوارزمية.

أسئلة شائعة عن فك تشفير AES

هل يمكن فك تشفير AES بدون المفتاح؟
لا — واحذر من أي جهة تدّعي عكس ذلك. لا يوجد ضعف عملي معروف في AES، فبدون المفتاح أو عبارة المرور الخيار الوحيد هو القوة الغاشمة، والأرقام تجعل ذلك ميؤوسًا منه: لدى AES-256 عدد ممكن من المفاتيح يبلغ 2^256، وهو فضاء ضخم بحيث إن التخمين بسرعة فلكية سيستغرق وقتًا أطول بكثير من عمر الكون ليُحدِث أثرًا يُذكَر. لا يوجد استرداد على طريقة «نسيت كلمة المرور» لـAES، ولا توجد خدمة شرعية تفكّ أي نص AES مشفّر نيابةً عنك. إذا فقدت المفتاح، فالبيانات ضائعة؛ وإذا كان بحوزتك، فستفكّ هذه الأداة تشفيرها في متصفحك. عندما يفشل فك التشفير رغم امتلاك المفتاح، يكون السبب غالبًا الوضع الخاطئ أو IV الخاطئ أو دالة اشتقاق المفتاح الخاطئة — لا خوارزمية مكسورة.
كيف أفكّ تشفير مُخرَج openssl enc؟
الصق النص المشفّر بترميز Base64 (يبدأ بـU2FsdGVkX1) واقبل اقتراح الأداة بالتبديل إلى وضع OpenSSL، أو فعِّل وضع التوافق مع OpenSSL يدويًا بالوضع CBC ونوع مفتاح عبارة مرور. أدخل عبارة المرور، ثم اختر دالة اشتقاق المفتاح التي استخدمها openssl: PBKDF2 إذا أُنشئ الملف بخيار -pbkdf2 (اضبط نفس عدد التكرارات — الافتراضي هو 10,000)، أو EVP-SHA256 لملف OpenSSL 1.1+ عادي بدون -pbkdf2. تعرض الأداة أمر openssl enc -d الدقيق الذي تُحاكيه. على سبيل المثال، echo 'U2FsdGVkX18AESIzRFVmd1PBwxIFQpF+VgIhTK0aDHQ=' | openssl enc -d -aes-256-cbc -pbkdf2 -iter 10000 -pass pass:correct-horse -base64 -A يطبع Attack at dawn!.
ماذا تعني U2FsdGVkX1 في بداية نص مشفّر؟
إنها بصمة صيغة OpenSSL Salted__. يضيف OpenSSL وCryptoJS ثمانية بايتات ASCII هي Salted__ يتبعها ملح بطول 8 بايتات قبل النص المشفّر، وعندما يُرمَّز كل ذلك بـBase64 تظهر البايتات الأولى دائمًا كبادئة U2FsdGVkX1. رؤيتها تخبرك بأمرين: أن البيانات أُنتِجت بأمر openssl enc أو باستدعاء CryptoJS AES.encrypt(text, passphrase)، وأن المفتاح اشتُقّ من عبارة مرور — لذا ستحتاج عبارة المرور مع دالة اشتقاق المفتاح الصحيحة، لا مفتاحًا خامًا. الصقها وتكتشف هذه الأداة الصيغة تلقائيًا وتعرض عليك التبديل إلى التدفّق المطابق.
كيف أفكّ تشفير نص CryptoJS المشفّر؟
يستخدم استدعاء CryptoJS AES.encrypt(text, passphrase) صيغة OpenSSL Salted__، لكن بمفتاح مُشتَقّ بدالة EVP_BytesToKey القديمة باستخدام MD5 وتكرار واحد فقط. فالصق النص المشفّر، وبدِّل إلى وضع OpenSSL، واختر دالة اشتقاق المفتاح EVP-MD5 — هذا هو الإعداد الذي يُغفِله الجميع تقريبًا، وهو سبب ظهور نص CryptoJS المشفّر وكأنه «لا يُفكّ» عند تجربته بـPBKDF2 أو SHA-256. أدخل نفس عبارة المرور فيظهر نصّك الصريح. على سطر الأوامر يحتاج فك التشفير المكافئ إلى -md md5.
GCM مقابل CBC — لماذا يُفكّ نصّي المشفّر بطريقة ولا يُفكّ بالأخرى؟
يجب أن يطابق الوضع كيفية تشفير البيانات؛ فالاثنان غير قابلين للتبادل. يتضمّن GCM وسم مصادقة بطول 128 بت وسيرفض فك التشفير (فشل مصادقة) إذا اخترت الوضع أو المفتاح أو IV الخاطئ. لا يملك CBC وسمًا، لذا فاختياره خطأً قد ينتج بصمت بيانات عشوائية أو خطأ حشو بدلًا من فشل واضح. إذا استمرّت مصادقة GCM بالفشل، تأكّد أن البيانات فعلًا بوضع GCM؛ وإذا أعطى CBC أخطاء حشو، أعِد فحص عبارة المرور ودالة اشتقاق المفتاح. لوحة التشخيص في هذه الأداة تُوجِّهك إلى السبب الأرجح بدلًا من خطأ عام.
هل يُرفَع نصّي المشفّر أو مفتاحي عند فك التشفير هنا؟
لا. يعمل فك التشفير بالكامل داخل متصفحك عبر Web Crypto API ‏(crypto.subtle) — وهو نفس المحرّك المُدقَّق الذي يستخدمه متصفحك لـHTTPS. لا يُرسَل نصّك المشفّر ولا عبارة مرورك ولا مفتاحك إلى أي مكان أبدًا — يمكنك مراقبة بقاء تبويب «الشبكة» فارغًا، أو قطع الاتصال بالإنترنت وفك التشفير دون اتصال. هذا التصميم المحلّي بالكامل هو ما يجعل من المعقول لصق نص مشفّر حسّاس هنا، رغم أنه ينبغي عليك مع ذلك تجنّب التعامل مع أسرار إنتاجية في أي أداة أونلاين.
ما الفرق بين عبارة المرور والمفتاح الخام عند فك التشفير؟
يُحدِّد ذلك كيفية إدخالك للسرّ. إذا شُفِّرت البيانات من عبارة مرور (بما في ذلك أي شيء بصيغة U2FsdGVkX1)، اختر عبارة مرور ودَع الأداة تشتق المفتاح بدالة الاشتقاق والملح المطابقَين. أما إذا شُفِّرت بمفتاح دقيق بطول 128/192/256 بت، فاختر مفتاح خام والصق تلك البايتات بترميز سداسي عشري أو Base64 — وقد تحتاج أيضًا لتقديم IV، إما مُلحَقًا بالنص المشفّر أو مُدخَلًا بشكل منفصل. محاولة فك تشفير بيانات عبارة مرور بمفتاح خام، أو العكس، سبب شائع لفشل فك التشفير. لإنشاء نص مشفّر بأي من الشكلين، استخدم أداة تشفير AES.

أدوات ذات صلة

عرض جميع الأدوات →

أداة تشفير AESGCM/CBC/CTR

أدوات الأمن

أداة تشفير AES مجانية أونلاين — AES-128/192/256، GCM/CBC/CTR، عبارة مرور (PBKDF2) أو مفتاح خام. تعمل 100% داخل متصفحك؛ لا شيء يُرفع.

مولّد تجزئة bcrypt والتحقق منها

أدوات الأمن

ولّد تجزئات كلمات المرور بـ bcrypt وتحقق منها أونلاين — تكلفة قابلة للضبط، بادئات $2b$/$2a$/$2y$. 100% في متصفحك؛ كلمة مرورك لا تُرفع أبداً.

مولّد HMAC ومدقّق التوقيع

أدوات الأمن

مولّد ومدقّق HMAC مجاني أونلاين. احسب HMAC-SHA256/SHA1/SHA384/SHA512 بمفاتيح Text أو Hex أو Base64 وإخراج Hex/Base64/Base64URL. كل شيء داخل متصفحك — المفاتيح لا تغادر الصفحة.

محلّل JWT — فك ترميز الرموز

أدوات الأمن

فك ترميز رموز JWT أونلاين مع محلّل JWT المجاني. افحص الترويسة والحمولة والتوقيع وانتهاء الصلاحية والخوارزمية والمطالبات فوراً. 100% في المتصفح — رمزك لا يغادر جهازك. بلا تسجيل، بلا تتبّع.

مُنشئ وترميز JWT

أدوات الأمن

مولّد ومرمّز JWT مجاني أونلاين. ابنِ الترويسة والحمولة، ووقّع بـ HS256 أو RS256 أو ES256 فوراً. 100% في المتصفح — سرّك ومفتاحك لا يغادران جهازك.

مولّد مفتاح JWT السري — HS256/384/512

أدوات الأمن

ولّد مفتاحاً سرياً قوياً ومطابقاً للمواصفة لـ HS256/384/512 — 100% في متصفحك، لا يُرسل إلى خادم أبداً. base64url أو base64 أو hex؛ انسخه لملف .env.