→ كل الأدوات

للمطوّرين

مدقّق بصمة الملف

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

طريقة الاستخدام

  1. أفلت الملف المُنزّل على الصفحة أو اختره. يُقرأ داخل متصفّحك ولا يُرفع.
  2. ألصق البصمة من صفحة التنزيل في الصندوق — بأيّ صيغة نسختها.
  3. انتظر قراءة الملف. والملفات الكبيرة تأخذ لحظة؛ وسطر التقدّم حقيقي.
  4. اقرأ الحكم. فالمطابقة تسمّي الخوارزمية التي طابقت، واسم الملف إن حملته ما ألصقته.
  5. وإن لم يطابق شيء، فأعد التنزيل قبل أن تفترض العبث — فالنقل المنقطع أكثر وقوعًا بكثير.

كيف تعمل

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

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

وتُعرَف خوارزمية البصمة الملصقة من طولها. وأطوال هذه الأربع لا تتصادم، فالتمييز قاطع: 32 خانة ستعشرية لا تكون هنا إلاّ MD5، و128 لا تكون إلاّ SHA-512. أمّا بصمة من خوارزمية لا تحسبها هذه الصفحة — مثل SHA3-256، وهي أيضًا 64 خانة — فلن تطابق، وهذا هو الجواب الصحيح.

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

أسئلة شائعة

هل يُرفع ملفي إلى أيّ مكان؟

لا. يُقرأ الملف من قرصك بمتصفّحك ويُحسَب هناك. لا يُرسَل شيء — ولهذا لا يعنينا حجم الملف، ولهذا يعمل هذا دون اتصال بالشبكة بعد تحميل الصفحة.

أيّ بصمة أستعمل؟

استعمل ما أعطاك إيّاه الناشر — فهو وحده ما يمكنك المقارنة به. وإن خيّرك، فخذ SHA-256. وما يزال MD5 وSHA-1 صالحين لكشف تنزيل وصل تالفًا، غير أنّ كليهما كُسِر بالمعنى الذي يهمّ عند العبث: يمكن صناعة ملفين مختلفين يتشاركان بصمة واحدة.

البصمة مطابقة. هل الملف آمن؟

يعني أنّ الملف هو الذي تصفه تلك البصمة، ولا شيء أكثر. فلو استبدل مهاجم الملف، لأمكنه غالبًا استبدال البصمة في الصفحة نفسها، ولحصلت على مطابقة. وأنفع ما تكون البصمة حين تأخذها من غير الموضع الذي أخذت منه الملف. والذي يُثبِت من نشر الملف حقًا هو التوقيع الرقمي — GPG أو نحوه — وهذه الأداة لا تتحقّق منه.

لم تعرض أربع بصمات بدل أن تسألني أيّها أريد؟

لأنّ السؤال يعني أنّ عليك أن تعرف أصلًا. فالسلسلة المنشورة كثيرًا ما تكون بلا اسم، وطولها يكفي لتمييزها بين هذه الأربع: 32 خانة هي MD5، ـ40 هي SHA-1، ـ64 هي SHA-256، و128 هي SHA-512. وقراءة الملف مرّة واحدة وحسابه بأربع طرق يكلّف قليلًا من المعالجة ويوفّر عليك التخمين.

أيعمل مع نسخة قرص بحجم 4 جيجابايت؟

نعم. يُمرّر الملف عبر الدالة قطعةً قطعة بدل تحميله إلى الذاكرة، فالحدّ هو صبرك لا حجم ذاكرتك. وتوقّع نحو 80 ميجابايت في الثانية للبصمات الأربع مجتمعة، أي نحو دقيقة لنسخة قرص بحجم 4 جيجابايت — وهو أقلّ ممّا استغرقه تنزيلها. ودالة التعمية المدمجة في المتصفّح لا تقدر على ذلك أصلًا: إذ تطلب الملف كلّه في الذاكرة دفعةً واحدة وليس فيها MD5، ولهذا تحمل هذه الصفحة تطبيقها الخاص.

بصمتي 56 أو 96 خانة ولا شيء يطابق.

تلك SHA-224 وSHA-384، وهما ممّا لا تحسبه هذه الأداة، وهما نادرتان في صفحات التنزيل. فإن استعملهما ناشر، فأمرا shasum -a 224 وshasum -a 384 ينتجانهما.

مشاركة
WhatsAppXin