متوفر أيضًا بلغات أخرى: English · Español · Português · Français
فاحص خوارزمية لوهن
افحص مجموع تحقّقٍ بخوارزمية لوهن، وانظر أي خانةٍ تقتضيها البقية، واعرف بالضبط أي خطأٍ لا تراه.
ما خوارزمية لوهن؟
خوارزمية لوهن مجموعُ تحقق: قاعدةٌ تحوّل خانات الرقم إلى خانةٍ زائدة في آخره، حتى إذا وقع خطأٌ في أي موضعٍ من الرقم لم يعد المجموع يستقيم. وهي على كل بطاقةٍ مصرفية، وعلى رقم IMEI الذي يعرّف الهاتف، وعلى أرقام الهوية في بلادٍ عدة.
والقاعدة قصيرة. ابدأ من اليمين، وضاعف خانةً وأبقِ أخرى؛ فإن تجاوزت المضاعفةُ تسعةً فاطرح تسعة. ثم اجمع الكل. فإن قبل المجموعُ القسمة على عشرة فالرقم متسق.
ووُجدت لالتقاط الأخطاء لا لإثبات شيء. فنموذجُ الدفع يجريها قبل الإرسال ليقول «راجع هذا الرقم» دون ذهابٍ إلى المصرف وإياب، وقارئُ المستودع يجريها ليرفض في الحال رقم IMEI قُرئ خطأً.
كيف تستعمله؟
- ألصق رقمًا بفراغاتٍ أو بغيرها. فالفراغات والشرطات تُهمَل، فرقمُ البطاقة المنسوخ في مجموعاتٍ رباعية يصلح كما هو. ويُرفض ما دون ثماني خانات: فمجموعُ تحققٍ على حفنة خاناتٍ لا يفيد كثيرًا، وليس معرِّفٌ حقيقيٌّ محميٌّ بلوهن بهذا القصر.
- اقرأ الحكم. فإذا فشل مجموع التحقق قالت الأداة أي خانةٍ تقتضيها البقية، وذلك يكفي غالبًا لمعرفة أيّها كتبتَ خطأً. وإذا نجح أشارت إلى ما يوحي به الطول، وهو تلميحٌ عن شكل الرقم لا تعيينٌ له.
- انظر التنبيه تحته. فإن كان في الرقم صفرٌ بجوار تسعة أخبرك بموضعه. وهو الموضع الوحيد الذي يمكن أن يختبئ فيه خطأ، للسبب المذكور أدناه.
ماذا تلتقط، عدًّا لا نقلًا
المعتادُ أن يقال إن لوهن تلتقط كل أخطاء الخانة الواحدة وكل التبديلات إلا نوعًا واحدًا. وبدل تكرار ذلك قِسناه. فأخذنا أرقامًا صحيحة من ست عشرة خانة، وغيّرنا خانةً واحدة في كل مرة، في كل موضع، إلى كل قيمةٍ أخرى: فحصنا 2880000 تغييرٍ فلم يفلت واحد. فكلُّ خانةٍ تُكتب خطأً تكسر مجموع التحقق.
وتبديلُ خانتين متجاورتين هو الزلل الشائع الآخر، ولوهن هنا تكاد تكون كاملة ولا تبلغ الكمال. فمن 351536 تبديلًا متجاورًا نجا 7731، أي 2.20٪. وهي زوجٌ واحد من الخانات: الصفر والتسعة. ولا يمكن تبديل أي زوجٍ متجاورٍ آخر دون أن ينتبه مجموع التحقق.
والسببُ خطوةُ المضاعفة. فالصفرُ مضاعفًا صفر، والتسعةُ مضاعفةً ثمانية عشر تُردّ إلى تسعة. فعلى الحد بين موضعٍ مضاعفٍ وآخر غير مضاعف يسهم الصفر والتسعة بالمجموع نفسه على أي ترتيبٍ كانا، فيكون التبديل خفيًّا. وأما سائر الأزواج فتغيّر المجموع. والأداةُ تقابل هذا التنبؤ بأزواج الخانات المرتَّبة التسعين كلها، فالدعوى قائمةٌ على الحساب لا على المسح وحده.
لماذا تفوق لوهن مجموع التحقق الآخر على عشرة
ISBN-13، وهو مجموع التحقق على كل كتابٍ نُشر منذ 2007، على عشرةٍ أيضًا. وقد قاسه هذا الموقع بالطريقة نفسها فإذا هو يفوته خمسة أزواجٍ من الخانات — صفر وخمسة، وواحد وستة، واثنان وسبعة، وثلاثة وثمانية، وأربعة وتسعة — وهي 10.21٪ من التبديلات المتجاورة. وأما لوهن ففاتها زوجٌ واحد و2.20٪.
فليس المقياسُ هو الفارق بينهما. إذ يزن ISBN-13 خاناته بالتناوب بين واحدٍ وثلاثة، وذلك خطّي: فتبديلُ متجاورتين يزيح المجموع بضعف الفرق بينهما، وكلُّ فرقٍ مقداره خمسة يختفي على مقياس العشرة. وأما مضاعفةُ لوهن مع طرح التسعة فليست خطية، وتلك الثنيةُ الواحدة هي التي كلّفتها زوجًا أعمى واحدًا بدل خمسة.
وهي صورةٌ لطيفة لكون قوة مجموع التحقق في وزنه لا في مقياسه، ولكون نظامٍ صُمّم سنة 1954 لآلات البطاقات المثقوبة أحسنَ في هذا المقياس من نظامٍ اعتُمد سنة 2007.
حدودٌ صادقة
صحةُ مجموع التحقق تعني أن الخانات متسقةٌ فيما بينها. ولا تعني أن الرقم قد صدر، أو أنه لأحد، أو أنه يعمل. فأرقامُ البطاقات وIMEI وأرقام الهوية سجلاتٌ في قاعدة بيانات جهةٍ ما، والسبيل الوحيد لمعرفة أحقيقيٌّ رقمٌ منها هو سؤالُ من يحفظ تلك القاعدة. وكلُّ صفحةٍ تدّعي التحقق من بطاقةٍ دون مخاطبة جهة الإصدار فإنما تفعل ما تفعله هذه: حسابًا.
وهذه الأداة لا تعيّن جهة الإصدار كذلك. فخانات البطاقة الأولى ترمّزها فعلًا عبر سجلٍّ تتولاه شبكات الدفع، غير أن ذلك السجل ليس علنيًّا بتمامه، وهو يتغير، والنسخةُ البائتة منه تخطئ وهي واثقة — وذلك هو الاعتراض المستقر في هذا الموقع على حزم بياناتٍ تتحرك. وملاحظةُ الطول تلميحٌ عن الشكل لا غير.
ولوهن فحصُ أخطاءٍ لا تدبيرُ أمن، ولم تُقصد لذلك قط. فهي تمنع خانةً مبدَّلة من بلوغ معالج الدفع، ولا تصنع شيئًا حيال من يستطيع إجراء الأسطر الثلاثة نفسها من الحساب. وكلُّ تطبيقاتها علنية، وهذا منها.
وأخيرًا فالأرقام أعلاه من مسح أرقامٍ مولَّدة لا حقيقية، لأن الخاصية حسابيةٌ لا تتوقف على أي الأرقام صدر. والزوجُ الأعمى يُبرهَن من قاعدة المضاعفة، والصفحةُ تعطي ذلك البرهان بدل الاتكاء على العينة.
لماذا هي مجانية؟
لأنها جمعٌ وباقي قسمة. فليس ثمة بيانات ولا شيءٌ يُنزَّل ولا خادمٌ في الأمر: كل شيءٍ يجري في متصفحك، ولا يُرفع شيءٌ مما تكتبه ولا يُسجَّل ولا يُخزَّن في أي مكان.
وهذه النقطة الأخيرة أهم هنا منها في أكثر الصفحات. فلا حساب ولا تسجيل ولا شيء محجوب. والمحرّك ومعه مئتان وثمانية عشر تحققًا في المستودع إلى جوار الصفحة، ومنها المسوحُ التي وراء كل رقمٍ ذُكر أعلاه.