TheProgrammer نشر 15 نوفمبر 2015 أرسل تقرير نشر 15 نوفمبر 2015 أريد أن أنشئ برنامج بسيط للتأكد من رمز MD5 لملف معين يُقدمه المستخدم، فهل هنالك دالة معينة في بايثون لتوليد رمز MD5 للملفات؟ اقتباس
0 هشام رزق الله نشر 15 نوفمبر 2015 أرسل تقرير نشر 15 نوفمبر 2015 نعم، هنالك دالة 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() المصدر اقتباس
السؤال
TheProgrammer
أريد أن أنشئ برنامج بسيط للتأكد من رمز MD5 لملف معين يُقدمه المستخدم، فهل هنالك دالة معينة في بايثون لتوليد رمز MD5 للملفات؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.