ايش هو ال checksum

بسم الله الرحمن الرحيم، السلام عليكم، في هذه المقالة راح اكتب عن ال checksum ايش هو وايش فايدة مع تطبيق عملي.

المحتويات

ايش هو؟

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

خوارزميات التشفير أحادية الاتجاه

هذي الخوارزميات تشفر المحتوى الي تمرره لها مع عدم القدرة على فك تشفيره، بمعنى ان عملية التشفير لها اتجاه واحد وهو التشفير فقط مع استحالة فك التشفير، ومن اشهر هذه الخوارزمات هم (SHA2-256, MD5).

ليه؟

سؤال مهم ليش الشي ذا موجود، وايش راح نسفيد منه؟ خوارزميات التشفير أحادية الاتجاه هي خوارزميات تستخدم للتاكد بعدم التلاعب بالبيانات وايضآ ضمان وصول البيانات بالشكل المطلوب، مثلآ في البلوكتشين يتم استخدامها مع كل بلوك وعملية تصير في الشبكة لضمان عدم تلاعب احد بالبيانات، ومثال اخر في توزيعة Ubuntu يتم توفير ال checksum الخاص بالتوزيعة للتاكد من وصلها لك بشكل كامل.

كيف؟

انشاء checksum لملف سهل جدآ خصوصآ مع اداة csum المكتوبة بلغة Rust الي توفرلك 22 خوارزمية احادية الاتجاه تقدر تستخدمها

انشاء checksum

لانشاء checksum في اداة csum راح تمرر الملف والخوارزميات الي تبيها تشتغل على الملف بعد الـ -a او --algorithms (لاتحدد خوارزميات اذا كنت تبي تحدد كل الخوارزميات)، راح نجرب نشغلها على ملف محتواه مرحبآ أسس

csum file.txt -a md5 sha2-256

راح يكون المخرج

file.txt md5 ➤ 292694a05bfd93efad1d772382dd674a
file.txt sha2-256 ➤ ba8caf17fdc0c93ac2f98ba363eb8e60669ccea81ad829a3bb04c248c5e846f9

واذا تبي تحطه في ملف اكيد الشكل الي فوق مو افضل شكل، عشان كذا تم توفير طريقة اخراج افضل تجيك لمن تحط عَلم -p او --plaintext وراح يكون بالشكل التالي

csum file.txt -p -a md5 sha2-256

والمخرج راح يكون

# md5
292694a05bfd93efad1d772382dd674a file.txt
# sha2-256
ba8caf17fdc0c93ac2f98ba363eb8e60669ccea81ad829a3bb04c248c5e846f9 file.txt

ولو تلاحظون ان المخرج lowercase اذا كنت تبيه uppercase استخدم العَلم -u او --upper

csum file.txt -p -u -a md5 sha2-256

والمخرج راح يكون

# md5
292694A05BFD93EFAD1D772382DD674A file.txt
# sha2-256
BA8CAF17FDC0C93AC2F98BA363EB8E60669CCEA81AD829A3BB04C248C5E846F9 file.txt

التحقق من ال checksum الخاص بالملف

طريقة التحقق من ال checksum الخاص بالملف بسيطة جدآ مع اداة csum راح نتحقق الحين من ال checksum الخاص بتوزيعة Ubuntu راح تحط العَلم -v او --verify وبعده الهاش حق التوزيعة والخوارزميات الي تبيه يجربها وهو بيقولك اذا تطابق مع احد الخوارزميات الي دخلتها ولالا، راح ننسخ ال checksum من صفحة Ubuntu

csum ubuntu-22.04.1-desktop-amd64.iso -v c396e956a9f52c418397867d1ea5c0cf1a99a49dcf648b086d2fb762330cc88d -a sha2-256

والمخرج راح يكون

✔ Found match with `sha2-256`

وبالبساطة هذي تم التحقق من الملف، ووصل لنا بالشكل المطلوب

المراجع

https://www.techspot.com/article/2199-what-is-checksum/

إعجابَين (2)

في توزيعات لينكس غالبًا ستجد أدوات تابعة للGNU utilities لحساب الchecksum، ليس هناك حاجة لأداة إضافية إلا إذا لم تجد الخوارزمية التي تريدها.

يمكنك استخدم أداة sha256sum أو md5sum على سبيل المثال.

نعم، لقد تم ذكر csum لعدد الخوارزميات الكبير الذي فيها، 22 خوارزمية. ايضآ جمالية الاداة، بالنسبة لي شكل والاوان مخرجات csum افضل من sha256sum و md5sum

إعجاب واحد (1)