Python بيانات / ملف CRC
سؤال
أريد أن تولد وتخزين قيمة CRC (أو ما شابهها) للحصول على قائمة معينة من الملفات التي يمكن استخدامها كمقارن في نقطة لاحقة. كتابة وظيفة للقيام بذلك بسيطة بما فيه الكفاية، ولكن هل هناك طريقة أكثر عموما للقيام بذلك داخل بيثون ليبس؟
لا تحتاج القيمة التي تم إنشاؤها إلى أي معيار معين.
المحلول
نوصي hashlib., ، ينفذ واجهة مشتركة للعديد من خوارزميات التجزئة الآمنة والرسائل المختلفة. وشملت هي خوارزميات التجزئة الآمنة SHA1 و MD5. رمز تجريبي:
import hashlib
m = hashlib.md5()
for line in open('data.txt', 'rb'):
m.update(line)
print m.hexdigest()
##ouput
1ab8ad413648c44aa9b90ce5abe50eea
نصائح أخرى
إذا لم تكن بحاجة إلى أمان أحادي الاتجاه، فيمكنك أيضا استخدامها zlib.crc32
أو zlib.adler32
, ، كما هو موثق هنا.
لا تنتمي إلى StackOverflow