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

كيف أولّد رمز MD5 لملف معين في بايثون؟

TheProgrammer

السؤال

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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...