Cryptology Academy · درس

تطبيقات التجزئة: المجاميع الاختبارية وHMAC وGit

تعرّفوا إلى استخدام التجزئات في تخزين كلمات المرور وسلامة البيانات والتحكم في الإصدارات

الدرس 4 من 413 خطوة

تطبيقات التجزئة: المجاميع الاختبارية وHMAC وGit درس مجاني في Cryptology Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cryptology Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cryptology Academy 4 دروس في المجموع.

مرحبًا

تؤدي دوال التجزئة ثلاثة أدوار أساسية في الأنظمة الحقيقية: التحقق من سلامة البيانات (المجاميع الاختبارية)، ومصادقة الرسائل (HMAC)، وتتبع سجل التعليمات البرمجية (Git).

المجاميع الاختبارية للملفات

عند تنزيل البرامج، ينشر موفروها قيمة تجزئة SHA-256. بعد التنزيل، احسبوا قيمة التجزئة وقارنوها: sha256sum ubuntu-24.04.iso # Should match published value exactly

سلامة البيانات في التخزين

تحسب قواعد بيانات مثل ZFS وBtrfs مجاميع SHA-256 الاختبارية لكل كتلة بيانات. وعند القراءة، يُتحقق من المجموع الاختباري. وهكذا يُكتشف تلف القرص الصامت تلقائيًا.

التخزين المعنون بالمحتوى

يستخدم Git وIPFS وDocker التخزين القابل للعنونة بالمحتوى: فاسم كل كائن هو قيمة تجزئته نفسها. SHA-256(content) = معرّف فريد. ويُخزَّن المحتوى المتطابق مرة واحدة، وتُكتشف النسخ المكررة فورًا.

استخدام Git لـ SHA-1 (وSHA-256)

يملك كل commit وtree وblob في Git قيمة تجزئة SHA-1. وتغطي تجزئة commit ما يلي: المحتوى + البيانات الوصفية + تجزئات الآباء. ويؤدي تغيير أي بت إلى تغيير قيمة التجزئة، مما يجعل العبث بالسجل قابلًا للاكتشاف.

بنية HMAC

HMAC-SHA256(key, msg) = SHA256((key' XOR opad) || SHA256((key' XOR ipad) || msg)) تمنع بنية التجزئة المزدوجة، مع حشو XOR، هجمات تمديد الطول ضد رموز MAC المميزة بالمفاتيح.

HMAC في Python

import hmac, hashlib def create_mac(key: bytes, msg: bytes) -> str: return hmac.new(key, msg, hashlib.sha256).hexdigest() mac = create_mac(b'secret', b'Hello!')

المقارنة في زمن ثابت

قارنوا قيم HMAC دائمًا باستخدام hmac.compare_digest()، وليس ==. هجمات التوقيت: تكشف المقارنة التي تتوقف مبكرًا طول الجزء المتطابق. تقارن hmac.compare_digest جميع البايتات في زمن ثابت.

HMAC في مصادقة API

توقّع GitHub webhooks كل حمولة باستخدام HMAC-SHA256 ومفتاح سري مشترك. استقبلوا webhook ← احسبوا HMAC ← قارنوه مع ترويسة X-Hub-Signature-256.

التحقق من كلمات المرور باستخدام التجزئة

تدفق تسجيل الدخول: يرسل المستخدم كلمة المرور ← يحسب الخادم التجزئة ← يقارنها بالتجزئة المخزنة. لا يفك الخادم تشفير كلمة المرور؛ بل يعيد تجزئتها ويقارن القيمتين. ولا تكشف التجزئة المخزنة كلمة المرور.

تطبيقات شجرة Merkle

تنشئ أشجار Merkle شجرة تجزئة فوق البيانات. وتحتوي كتل Bitcoin على جذر Merkle لجميع المعاملات. كما تستخدم Certificate Transparency أشجار Merkle لإنشاء سجلات تدقيق يمكن اكتشاف العبث بها.

اختبار سريع

لماذا يجب أن تستخدم مقارنات HMAC الدالة hmac.compare_digest() بدلًا من ==؟

مراجعة

ممتاز! لقد طبّقتم التجزئة في سيناريوهات واقعية. سندخل بعد ذلك في تفاصيل AES، معيار التشفير المتماثل الأكثر انتشارًا في العالم.
البدء مجانًا

تعلم Cryptology Academy مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
67
الدروس
261

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

هل درس «تطبيقات التجزئة: المجاميع الاختبارية وHMAC وGit» مجاني؟

نعم — نص درس «تطبيقات التجزئة: المجاميع الاختبارية وHMAC وGit» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cryptology Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Cryptology Academy 4 دروس في المجموع.

ماذا ستتعلم في «تطبيقات التجزئة: المجاميع الاختبارية وHMAC وGit»؟

تعرّفوا إلى استخدام التجزئات في تخزين كلمات المرور وسلامة البيانات والتحكم في الإصدارات تتمرن على Cryptology Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Cryptology Academy؟

لا تُشترط خبرة سابقة. Cryptology Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «تطبيقات التجزئة: المجاميع الاختبارية وHMAC وGit»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Cryptology Academy هذا؟

نعم. كل درس في Cryptology Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. ما الذي يجعل دالة التجزئة جيدة
  2. ‏MD5: تاريخه واستخداماته وسبب كسره
  3. شرح عائلة SHA-1 وSHA-2
  4. تطبيقات التجزئة: المجاميع الاختبارية وHMAC وGit
← العودة إلى Cryptology Academy