الانتقال إلى المحتوى الرئيسي
PulsarKit

حساب MD5 وSHA-1 وSHA-256 وSHA-512

احصل على كل قيم الهاش لملف أو نص في قراءة واحدة، ثم الصق القيمة المتوقعة لترى بنظرة واحدة هل تتطابق معها.

أفلت ملفاتك هنا

⁦⁩ · حتى 300 م.ب

المصدر
إعدادات إضافية

طريقة حساب الهاش

  1. 1

    إفلات ملف أو لصق نص

    حتى 50 ملفًا دفعة واحدة، أو نص تكتبه مباشرة. تُقرأ الملفات الكبيرة على أجزاء، فيبقى استهلاك الذاكرة ثابتًا.

  2. 2

    اختيار الخوارزميات المعروضة

    تُعرض الخوارزميات الأربع كلها افتراضيًا. وكلما اخترت عددًا أقل منها قلّ عدد الحاسبات التي تعمل على الملف، وهذا أسرع بفارق ملموس مع ملف حجمه عدة غيغابايت.

  3. 3

    مقارنة النتيجة أو نسخها

    الصق المجموع الاختباري (checksum) المتوقع، فتُحدَّد الخوارزمية المقابلة من طوله، وتجري المقارنة نيابة عنك.

قراءة واحدة للبيانات لا أربع

الطريقة الساذجة للحصول على أربعة مجاميع اختبارية هي قراءة الملف أربع مرات. أما هنا فيُقرأ الملف مرة واحدة على أجزاء حجم كل منها 16 ميغابايت، ويُمرَّر كل جزء إلى كل الخوارزميات المختارة قبل قراءة الجزء التالي. لذلك تكلّف إضافة خوارزمية ثانية وقتًا من المعالج، لا قراءة كاملة أخرى من القرص. وللسبب نفسه تهم القراءة على أجزاء حين يتعلق الأمر بسقف الذاكرة: الملف الذي حجمه 2 غيغابايت لا يوجد في الذاكرة كاملًا في أي لحظة، بل 16 ميغابايت منه فقط في كل مرة. وهذا ما يجعل حساب هاش ملف ISO كبير أو مقطع فيديو داخل علامة تبويب في المتصفح أمرًا واقعيًا أصلًا.

أي خوارزمية تستخدم ولأي غرض

للتأكد من أن ملفًا نزّلته وصل سليمًا تكفي أي خوارزمية من الأربع، لأن التلف العرضي لا يصنع تصادمات، فاستخدم الخوارزمية التي ذكرها الناشر. أما حين يمكن أن يصنع أحدهم عمدًا ملفًا يعطي القيمة نفسها، فإن MD5 وSHA-1 كلتيهما مكسورتان: توجد تصادمات عملية لخوارزمية MD5، وهي موجودة لخوارزمية SHA-1 منذ عام 2017، لذلك لم يعد تطابق MD5 دليلًا على أن الملفين متماثلان. وSHA-256 هي الخيار الافتراضي المعقول حين يجب أن تصمد سلامة الملف أمام مهاجم. أما SHA-512 فليست أكثر أمانًا من الناحية العملية، لكنها غالبًا أسرع على العتاد ذي 64 بت. ولا تصلح أي منها لتخزين كلمات المرور، فذلك يحتاج إلى دالة بطيئة عمدًا مثل Argon2 أو bcrypt.

هاش النص يتوقف على الترميز

يُحسب الهاش على البايتات، والنص لا يصير بايتات حتى يحوله إليها ترميز ما. كلمة «Привет» تعطي قيمة SHA-256 بترميز UTF-8، وقيمة مختلفة تمامًا بترميز UTF-16LE، ولا خطأ في أي منهما: إنهما هاش لتسلسلين مختلفين من البايتات. لهذا يُختار ترميز الأحرف صراحةً ولا يُفترض افتراضًا، ولهذا أيضًا قد لا يتطابق هاش حسبته في مكان آخر مع ما تراه هنا حتى يتوافق الترميزان. والترميز الافتراضي UTF-8، لأنه ما تقصده كل الأنظمة الحديثة تقريبًا حين تتحدث عن النص.

لا يُرفع الملف أبدًا

يجري حساب الهاش بالكامل داخل علامة التبويب هذه في متصفحك. فالغاية من التحقق من المجموع الاختباري أن تثق بالملف نفسه لا بخدمة ما، وإرساله إلى خادم ليُحسب هاشه يُفقد العملية معناها. لا يغادر أي شيء جهازك.

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

أي خوارزمية أستخدم للتحقق من ملف نزّلته؟

الخوارزمية التي نشر الناشر قيمتها. لكشف التلف العرضي تكفي أي واحدة من الأربع؛ أما إذا كان القلق من تلاعب متعمد فاستخدم SHA-256 أو SHA-512، لأن لخوارزميتي MD5 وSHA-1 هجمات تصادم عملية.

لماذا لا تصلح MD5 لكلمات المرور؟

لأنها سريعة، والسرعة هي بالضبط ما يريده مهاجم يخمّن كلمات المرور. تخزين كلمات المرور يحتاج إلى دالة بطيئة عمدًا تستخدم الملح (salt)، مثل Argon2 أو bcrypt؛ أما الهاش العادي فأداة خاطئة لهذا الغرض مهما كانت سرعته.

لماذا يتغير هاش النص حين أغير الترميز؟

لأن الهاش يُحسب على البايتات لا على الأحرف، وUTF-8 وUTF-16LE يحولان النص نفسه إلى بايتات مختلفة. اختر الترميز الذي استخدمه البرنامج الذي أنتج القيمة التي تقارن بها.

هل يمكنني حساب هاش ملف كبير جدًا؟

نعم. يُقرأ الملف على أجزاء حجم كل منها 16 ميغابايت، ولا يوجد في الذاكرة كاملًا في أي لحظة، لذلك يُعالج ملف حجمه عدة غيغابايت باستهلاك للذاكرة أقل بكثير من 100 ميغابايت.

ماذا يعني عدم التطابق؟

يعني أن البايتات تختلف عن تلك التي حسب الناشر هاشها. في الغالب انقطع التنزيل قبل اكتماله أو تلف الملف، فنزّله مرة أخرى من المصدر؛ وإذا بقي الاختلاف فاعتبر الملف غير موثوق.

كيف تعرف المقارنة الخوارزمية التي ألصقت قيمتها؟

من الطول. المجموع الاختباري بالنظام الست عشري المؤلف من 32 أو 40 أو 64 أو 128 حرفًا هو على الترتيب MD5 أو SHA-1 أو SHA-256 أو SHA-512. وأي طول آخر يُعلَن أنه غير معروف بدلًا من مقارنته بقيمة خاطئة.

هل يُرفع ملفي للتحقق منه؟

لا. يُحسب كل شيء محليًا في متصفحك بمكتبة هاش مبنية على WebAssembly، دون أي خادم في أي مرحلة.

أدوات ذات صلة