سؤال

أريد أن تولد وتخزين قيمة 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, ، كما هو موثق هنا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top