ما هي دالة هاش التشفيرية ؟
دالة هاش التشفيرية من الوسائل البرمجية التي تتيح معرفة التطابق في الملفات دون الحاجة إلى فتحها أو مقارنتها، أي أنها وسيلة مفيدة لاختصار الوقت في العمليات البرمجية، وبنفس الوقت لأجل تنظيمها أيضًا.
ودالة هاش هي عبارة عن توليد قيمة أو قيم من سلسلة من النصوص أو خيط نص واحد، باستخدام وظيفة أو دالة رياضية.
كما وتعتبر إحدى طرق ضمان الأمان في عملية نقل رسالة إذا كانت معنية بالوصول إلى متلقٍ واحد ومحدد فقط، حيث يتم توليد الـ hash من قبل معادلة أو صيغة معينة، لمنع العبث بأمان وخصوصية نقل الرسالة.
أيضًا تستخدم هذه الدالة كطريقة لتنظيم وفرز القيم المهمة والأساسية في جدول قاعدة بيانات بطريقة فعالة.
عندما يقوم المستخدم بإرسال رسالة خاصة، يتم توليد وتشفير خليط أو شتات (hash) لهذه الرسالة، ويتم إرسال الدالة برفقة الرسالة، وعند تلقي الرسالة، يقوم المتلقي بفك التشفير عن الرسالة والدالة.
بعدها يقوم المتلقي بتوليد دالة هاش أخرى للرسالة، فإذا تطابقت الدالتين عند مقارنتهما، يمكن القول أنه تم تبادل رسالة خاصة بأمان ونجاح، تتيح آلية الهاش هذه ضمان عدم العبث بالرسالة أو تحريفها من قبل طرف غير مرغوب به.
هذا وتستخدم الهاش أيضًا لفهرسة واسترجاع عناصر من قاعدة بيانات، نظرًا لسهولة وسرعة عمليات الاسترجاع والفهرسة عند الاعتماد على رمز هاش مختصر لهذه العناصر، بدلًا من الرجوع إلى القيمة والهوية الأصلية لكل عنصر.
فوائد دالة هاش:
من أبرز الفوائد والاستخدامات لهذه الدالة هي مقارنة التساوي والاختلاف بين ملفين، دون الحاجة لفتح مستندين ومقارنتهما حرفًا حرفًا، وكلمة كلمة مثلًا، فقيم هاش المحسوبة لكل من المستندين، تتيح للمستخدم رؤية الاختلاف فورًا إذا وجد.
أيضًا كما ذكرنا في الأعلى، هذه الدالة مفيدة في التأكد من مصداقية وأمان الرسائل التي تصل للمستخدم من طرف آخر، عبر التحقق من وجود نسختين متطابقين من الدالة.
كما وهنالك بعض الملفات التي لا تتيح، ولا يجب التعديل على تاريخ إنشائها وتاريخ آخر تعديل عليها وحجمها، وهنا من المستحيل مقارنة الفرق بينها، على الأقل بشكلٍ سريع، مما يجعل دالة هاش التشفيرية مفيدة للغاية في إيجاد الفرق من خلال القيم المختلفة التي تقوم بتوليدها وجمعها لهذه الملفات.
أنواع دالة هاش:
هنالك عدة أنواع وخوارزميات عديدة لدالة هاش، لكن الأكثر انتشارًا واستخدامًا منها هي ثلاثة:
1-MD5:
تعتمد هذه الدالة على ترميز سلسلة من المعلومات وجعلها بصيغة 128 بت، وعادة ما يتم استخدامها للتحقق من مصداقية البيانات، وتعتبر من أكثر دالات الهاش استخدامًا وانتشارًا في العالم، رغم معاناتها من سلبيات عديدة نظرًا لقدم عمرها
2-SHA-2:
تم تطويرها من قبل وكالة الأمن القومي الأمريكية، ومن المعروف لدى معظم الخبراء أنها خليفة نجاح MD5، وتعتمد في تشفيرها أو ترميزها على إنتاج عناصر بصيغة 160 بت وتحمل رقم عشري.
3-CRC32:
دالة أخرى تستخدم بكثرة في التحقق من مصداقيات البيانات، ولعلها مخصصة أكثر من غيرها لهذه الوظيفة الأمنية، فهي تعتمد على رمز التحقق من الخطأ CRC والذي يعرف أنه اختبار التكرار الدوري، ويتحقق من حدوث تغييرات غير متوقعة في البيانات، ومن الجدير بالذكر أن الترميز عبر هذه الدالة سوف يقوم بإنتاج عناصر بنفس الصيغة.