English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل بايثون الأساسي

تحكم في عملية بايثون

الوظائف في Python

أنواع البيانات في Python

عمليات ملفات بايثون

أوبجكت وأسس في بايثون

التاريخ والوقت في بايثون

معرفة متقدمة في بايثون

دليل بايثون

برنامج بايثون لبحث عن قيمة الهشاشة لملف

كامل الأمثلة بايثون

في هذا المقال، ستتعلم كيفية العثور على قيمة الهشاشة لملف وعرضها.

لفهم هذا المثال، يجب أن تكون على علم بما يليبرمجة بايثونالموضوع:

يستطيع الحساب المضاعف الحصول على كمية غير محددة من البيانات، ويعيد سلسلة من الأرقام الثنائية ذات الطول الثابت. يُدعى مخرج الحساب المضاعف بـ رسالة الموجز.

تستخدم على نطاق واسع في علم الكمبيوتر للاختبار. هناك العديد من وظائف التخزين، مثل MD5،SHA-1، إلخ. يرجى الرجوع إلى هذه الصفحة للحصول على معلومات إضافية.وظائف وظائف التخزين في علم الكمبيوترالمزيد من المعلومات.

في هذا المثال، سنوضح كيفية تحديد هشاشة الملف. سنستخدم خوارزمية هشاشة SHA-1. طول الملخص SHA-1 هو 160 بت.

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

كود البحث عن الهشاشة

# برنامج بايثون لتحديد هشاشة رسالة الملف
# استيراد مكتبة hashlib
import hashlib
def hash_file(filename):
   """هذا الدالة تعود إلى هشاشة SHA-1"
    للفائف
   # إنشاء عنصر تحقق
   h = hashlib.sha1()
   # فتح الملف في الوضع الثنائي لقراءة
   with open(filename, 'rb') as file:
       # الدوران حتى نصل إلى نهاية الملف
       chunk = 0
       while chunk != b''
           # قراءة 1024 بت مرة واحدة
           chunk = file.read(1024)
           h.update(chunk)
   # العودة إلى شكل عشري للملخص
   return h.hexdigest()
message = hash_file("track1.mp3")
print(message)

نتائج الإخراج

633d7356947eec543c50b76a1852f92427f4dca9

في هذا البرنامج، نفتح الملف في الوضع الثنائي. وظائف التخزين متاحة في مكتبة hashlib. نستخدم حلقة while حتى نصل إلى نهاية الملف. عند الوصول إلى النهاية، نحصل على عنصر بيانات فاضي.

في كل تكرار، نقرأ فقط 1024 بت من الملف (يمكن تغيير هذا القيمة حسب الحاجة)، ونحدث دالة التحقق.

في النهاية، نستخدم طريقة hexdigest() لتحويل الرسالة إلى شكل عشري.

كامل الأمثلة بايثون