اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

نعم، هنالك دالة hashlib.md5() والتي تسمح لك بالحصول على رمز MD5 للملف الذي تمرره لها، فمثلا لو أردت طباعة رمز MD5 لملف واحد، فيمكنك كتابة سطر مشابهه لهذا السطر:

print hashlib.md5(open(full_path, 'rb').read()).hexdigest()

وأما لو كان لديك مجموعة من الملفات لتوليد رمز MD5 لها، فيمكنك استخدام حلقة التكرار for للحصول على رموز جميع الملفات كما في المثال التالي:

import hashlib
[(fname, hashlib.md5(open(fname, 'rb').read()).digest()) for fname in fnamelst]

وفي حال كان الملف الذي تريد توليد الرمز له كبير للغاية (أكبر من ذاكرة الوصول العشوائي لحاسوبك) فيمكنك قرأته على أجزاء كما في المثال التالي:

def md5(fname):
    hash = hashlib.md5()
    with open(fname, "rb") as f:
        for chunk in iter(lambda: f.read(4096), b""):
            hash.update(chunk)
    return hash.hexdigest()

المصدر

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...