الدالة zlib.adler32()‎ في بايثون

من موسوعة حسوب
< Python‏ | zlib
اذهب إلى التنقل اذهب إلى البحث


تحسب الدالة مجموع التحقق checksum من نوع Adler-32 للبيانات المعطاة.

البنية العامة

zlib.adler32(data[, value])

المعاملات

data

البيانات المراد حساب مجموع التحقق لها.

value

إن كان المعامل value موجودًا، فإنّه يستخدم كقيمة بادئة لمجموع التحقق، وفي حال غيابه تكون القيمة الافتراضية هي 1. يؤدي تمرير قيمة إلى المعامل value إلى السماح بإجراء عمليات جمع تحقق مستمرّة على مجموعة من المدخلات المترابطة بعضها ببعض.

القيمة المعادة

تحسب الدالة مجموع التحقق checksum من نوع Adler-32 للبيانات المعطاة. (مجموع التحقق من نوع Alder-32 يقارب في فعاليته CRC32 ولكن يمكن حسابه بسرعة أكبر). تكون النتيجة عددًا صحيحًا خاليًا من الإشارات وبطول 32-بت.

هذه الخوارزمية ليست قوية من ناحية التشفير؛ لذا يُنصح بعدم استخدامها في عمليات التوثيق والتوقيعات الإلكترونية. ولمّا كانت هذه الخوارزمية مصمّمة لاستخدامها كخوارزمية للحصول على مجموع التحقق، فإنّها ليست ملائمة للاستخدام كخوارزمية تقطيع hash عامة.

ملاحظة: أصبحت الدالة في الإصدار 3.0 من بايثون تعيد قيمة خالية من الإشارات دائمًا. ولإنتاج القيمة العددية ذاتها في جميع إصدارات بايثون وعلى مختلف المنصّات استخدم:

adler32(data) & 0xffffffff

أمثلة

يبين المثال التالي آلية عمل التابع:

>>> import zlib
>>> data = b'Hello World'
>>> zlib.adler32(data)
403375133
>>> data = b'Hsoub Wiki'
>>> zlib.adler32(data)
340919222

انظر أيضًا

  • الدالة zlib.crc32(): تحسب الدالة مجموع تحقق من نوع CRC (التحقّق من الزيادة الدورية Cyclic Redundancy Check) للبيانات المعطاة.
  • الدالة zlib.compress(): تضغط الدالة البايتات المعطاة، وتعيد كائن bytes يتضمّن البيانات المضغوطة.

مصادر