🔐 تحدي تفاعلي للمبتدئين

شفر ملفك وفك تشفيره بنفسك باستخدام أدوات حقيقية!

> هل تساءلت يومًا كيف تُشفّر الرسائل أو الملفات؟ > في هذا التحدي، ستقوم بنفسك بتشفير ملف نصي وفك تشفيره باستخدام أدوات بسيطة بلغة Python. لا تحتاج لأي خبرة مسبقة — فقط حاسوب، فضول، وخطوات واضحة نرشدك فيها خطوة بخطوة.

🎯 ما الهدف من هذا التحدي؟

  • أن تفهم كيف يتم “قفل” المعلومات رقميًا باستخدام التشفير.
  • أن تجرب بنفسك تشفير ملف وفك تشفيره.
  • أن تكتشف الفرق بين نوعين من التشفير: 🔐 AES (سريع ويستخدم مفتاحًا واحدًا) 🔐 RSA (آمن ويستخدم مفتاحين: عام وخاص)

🧰 ماذا تحتاج؟

  • جهاز كمبيوتر مثبت عليه Python (إذا لم يكن لديك، حمّله من هنا)
  • اتصال بالإنترنت
  • هذا الأمر لتثبيت أداة التشفير:

pip install cryptography

🧪 الخطوة 1: أنشئ ملفًا بسيطًا

افتح المفكرة (Notepad) واكتب فيه أي شيء، مثل:

مرحبًا بك في أول تجربة تشفير لي!

احفظ الملف باسم: plain.txt

🔐 الخطوة 2: شفر الملف باستخدام AES

انسخ هذا الكود إلى ملف جديد باسم encrypt_aes.py:

from cryptography.fernet import Fernet

# توليد مفتاح وحفظه
key = Fernet.generate_key()
with open("aes.key", "wb") as key_file:
    key_file.write(key)

# تحميل الملف وتشفيره
with open("plain.txt", "rb") as file:
    data = file.read()

cipher = Fernet(key)
encrypted = cipher.encrypt(data)

with open("encrypted.txt", "wb") as file:
    file.write(encrypted)

print("✅ تم تشفير الملف بنجاح!")

ثم شغّله:

python encrypt_aes.py

🔓 الخطوة 3: فك التشفير

انسخ هذا الكود إلى ملف جديد باسم decrypt_aes.py:

from cryptography.fernet import Fernet

# تحميل المفتاح
with open("aes.key", "rb") as key_file:
    key = key_file.read()

# تحميل الملف المشفر
with open("encrypted.txt", "rb") as file:
    encrypted = file.read()

cipher = Fernet(key)
decrypted = cipher.decrypt(encrypted)

with open("decrypted.txt", "wb") as file:
    file.write(decrypted)

print("✅ تم فك التشفير واستعادة الملف!")

ثم شغّله:

python decrypt_aes.py

افتح decrypted.txt وستجد نفس الرسالة الأصلية!

🤔 ماذا حدث بالضبط؟

  • أنت أنشأت مفتاحًا سريًا (مثل كلمة سر رقمية).
  • استخدمت هذا المفتاح لتشفير الملف بحيث لا يمكن قراءته.
  • ثم استخدمت نفس المفتاح لفك التشفير واستعادة النص الأصلي.

أضف تعليقاً