حاسبة خوارزمية لون - التحقق من صحة بطاقات الائتمان وأرقام IMEI
حاسبة مجانية لخوارزمية لون mod 10 للتحقق من بطاقات الائتمان، وفحص أرقام IMEI، والتحقق من الهوية. قم بالتحقق من الأرقام فوراً أو إنشاء بيانات اختبار عبر الإنترنت.
حاسبة خوارزمية لون
التحقق مما إذا كان رقمك يجتاز التحقق من لون مود 10
التوثيق
ما خوارزمية لوهن؟
خوارزمية لوهن، التي تُسمى أيضًا خوارزمية mod 10، هي صيغة تتحقق مما إذا كانت سلسلة من الأرقام يمكن أن تكون رقم تعريف صالحًا. وتُستخدم لاكتشاف أخطاء الكتابة في أرقام بطاقات الائتمان، وأرقام IMEI في الهواتف، وغيرها من رموز التعريف قبل أن تتسبب في حدوث خطأ. وصف مهندس IBM هانس بيتر لوهن هذه الطريقة في براءة اختراع أُودعت في 1954.
لا تثبت الخوارزمية أن الرقم حقيقي أو نشط. فهي تؤكد فقط أن الأرقام تتبع النمط المتوقع. فقد يجتاز رقم البطاقة فحص لوهن، ومع ذلك يكون مزيفًا أو منتهي الصلاحية أو غير مرتبط بأموال.
كيفية حساب قيمة تحقق لوهن
يعمل الفحص على أرقام العدد، المقروءة من اليمين إلى اليسار.
- بدءًا من الرقم الثاني من اليمين، ضاعف كل رقم آخر.
- إذا أدى مضاعفة رقم إلى عدد أكبر من 9، فاطرح منه 9. (وهذا يماثل جمع رقمي الناتج معًا، لذلك تصبح 16 = 1 + 6 = 7، أو بصورة مكافئة 16 − 9 = 7.)
- اجمع كل الأرقام: الأرقام المضاعفة (بعد تعديلها) والأرقام التي تُركت دون تغيير.
- إذا كان مجموع القيم قابلًا للقسمة على 10، فالرقم صالح. وإلا فهو غير صالح.
عندما تُصدر مؤسسة أرقام تعريف جديدة، فإنها تستخدم الخطوات نفسها بالعكس. فهي تختار جميع الأرقام باستثناء الرقم الأخير، وتجري الفحص، ثم تختار «رقم التحقق» الأخير بحيث يكون المجموع قابلًا للقسمة على 10.
مثال محلول: التحقق من صحة رقم بطاقة
لنأخذ الرقم التجريبي 4532015112830366.
- الأرقام من اليمين إلى اليسار: 6، 6، 3، 0، 3، 8، 2، 1، 1، 5، 1، 0، 2، 3، 5، 4
- ضاعف كل رقم ثانٍ: 6، 12، 3، 0، 3، 16، 2، 2، 1، 10، 1، 0، 2، 6، 5، 8
- اطرح 9 من أي ناتج أكبر من 9: 6، 3، 3، 0، 3، 7، 2، 2، 1، 1، 1، 0، 2، 6، 5، 8
- اجمعها: 6+3+3+0+3+7+2+2+1+1+1+0+2+6+5+8 = 50
- العدد 50 قابل للقسمة على 10، ولذلك فالرقم صالح.
مثال محلول: رقم غير صالح
لنأخذ 490154203237517، وهو رقم مكوّن من 15 رقمًا وفق تنسيق أرقام IMEI.
يؤدي تطبيق الخطوات نفسها إلى مجموع قدره 59. وبما أن 59 غير قابل للقسمة على 10، فهذا الرقم غير صالح.
لتحويله إلى رقم صالح، لا بد من تغيير الرقم الأخير فقط. ويُظهر اختبار كل رقم أخير محتمل أن الرقم الأخير 8 يرفع المجموع إلى 60، وهو قابل للقسمة على 10. لذلك فإن 490154203237518 رقم لوهن صالح، في حين أن كل رقم أخير آخر من 0 إلى 9 (باستثناء 8) ينتج رقمًا غير صالح.
كيفية استخدام هذه الحاسبة
للحاسبة وضعان، ويُختار الوضع باستخدام زري الإجراء.
يتحقق وضع التحقق من الرقم أثناء كتابته. ولا حاجة إلى الضغط على أي زر. تظهر النتيجة بمجرد أن يحتوي الحقل على أرقام، ويسرد تفصيل خطوة بخطوة أسفلها كل رقم والقيمة التي يسهم بها بعد مضاعفته وطيّه، بالإضافة إلى المجموع الكلي.
ينشئ وضع التوليد رقمًا يجتاز الفحص. وتُحتفظ بأي أرقام موجودة في الحقل بوصفها بداية الرقم الجديد. وتملأ الحاسبة بقية الرقم بأرقام عشوائية وتضيف رقم التحقق. ويبلغ الناتج 16 رقمًا، وهو طول رقم بطاقة الدفع المعتاد، ما لم تكن الأرقام المُدخلة تبلغ 16 رقمًا أو أكثر؛ ففي هذه الحالة يكون الناتج أطول برقم واحد مما أُدخل.
تُتجاهل المسافات والشرطات والنقاط في المُدخل، لذلك تُقرأ "4532 0151 1283 0366" و "4532-0151-1283-0366" بالطريقة نفسها التي تُقرأ بها الأرقام المجردة. أما أي حرف آخر، مثل حرف، فيُرفض مع ظهور رسالة خطأ.
أين تُستخدم خوارزمية لوهن؟
- بطاقات الدفع. تُنشئ Visa وMastercard وAmerican Express وشبكات أخرى أرقام بطاقاتها بحيث يجتاز الرقم الكامل فحص لوهن. ويمكن لنماذج الدفع استخدام ذلك لاكتشاف الرقم المكتوب خطأ قبل الاتصال بمعالج الدفع.
- أرقام IMEI. يتضمن المعرّف المكوّن من 15 رقمًا والمخصص للهواتف والأجهزة الخلوية الأخرى رقم تحقق باستخدام خوارزمية لوهن.
- أرقام التأمين الاجتماعي الكندية. يستخدم رقم التأمين الاجتماعي الكندي المكوّن من 9 أرقام الفحص نفسه.
- المعرّف الوطني لمقدم الرعاية الصحية في الولايات المتحدة (NPI). يحصل مقدمو الرعاية الصحية في الولايات المتحدة على معرّف NPI مكوّن من 10 أرقام، ويُتحقق منه باستخدام فحص قائم على خوارزمية لوهن.
ما الذي لا تكتشفه خوارزمية لوهن؟
تكتشف الخوارزمية دائمًا أي رقم واحد كُتب خطأ، بصرف النظر عن الرقم أو موضعه. كما تكتشف كل تبديل لرقمين متجاورين (مثل كتابة "39" بدلًا من "93") باستثناء حالة محددة واحدة: تبديل 0 و9 المتجاورين، مثل تحوّل "09" إلى "90".
كما أنها لا تكتشف ثلاثة أخطاء «مزدوجة»، حيث يُستبدل زوج مكرر من الأرقام بزوج مكرر مختلف: قراءة 22 على أنها 55، و33 على أنها 66، و44 على أنها 77. ولأن هذه الثغرات معروفة ومحدودة، فإن فحص لوهن موثوق لاكتشاف أخطاء الكتابة المعتادة، لكنه لا يُعامل بوصفه نظامًا كاملًا لاكتشاف الأخطاء بمفرده.
لوهن ليس فحصًا أمنيًا
صُممت خوارزمية لوهن لاكتشاف أخطاء إدخال البيانات غير المقصودة، لا الاحتيال. فالرقم الذي يجتاز الفحص صحيح من الناحية الرياضية، ولا يعني ذلك أكثر من ذلك. وتعتمد حماية الدفع الفعلية على طبقات أخرى تُضاف بعد فحص لوهن، مثل رمز CVV للبطاقة، والتحقق من العنوان، والمصادقة باستخدام 3-D Secure. وخوارزمية لوهن ليست سوى المرشح الأول والأقل تكلفة، ويُطبّق قبل تلك الفحوص الأبطأ.
التحقق من صحة رقم في JavaScript
1function isValidLuhn(number) {
2 const digits = number.replace(/\D/g, '').split('').map(Number);
3 if (digits.length === 0) return false;
4
5 let sum = 0;
6 let doubleDigit = false;
7 for (let i = digits.length - 1; i >= 0; i--) {
8 let d = digits[i];
9 if (doubleDigit) {
10 d *= 2;
11 if (d > 9) d -= 9;
12 }
13 sum += d;
14 doubleDigit = !doubleDigit;
15 }
16 return sum % 10 === 0;
17}
18يُعد الحارس الخاص بالمُدخل الفارغ مهمًا: فالسلسلة الفارغة لها مجموع أرقام يساوي 0، و0 قابل للقسمة على
10، ولذلك، من دون هذا الحارس، ستعتبر الدالة لا شيء على الإطلاق
رقمًا صالحًا. وللعثور على رقم تحقق بدلًا من اختبار رقم، شغّل الحلقة نفسها
على الأرقام التي تسبق رقم التحقق، لكن ابدأ المضاعفة عند آخر رقم منها،
ثم احسب (10 - sum % 10) % 10.
الأسئلة الشائعة
ما استخدام خوارزمية لوهن؟
تتحقق من اتساق رقم تعريف داخليًا، مثل رقم بطاقة ائتمان أو رقم IMEI أو رقم التأمين الاجتماعي الكندي. وتكتشف الأرقام المكتوبة خطأ أو المتبادلة قبل أن تتسبب في خطأ بالمعالجة.
ما مدى دقة خوارزمية لوهن في اكتشاف الأخطاء؟
تكتشف كل رقم كُتب خطأ، وتقريبًا كل حالة تبديل لرقمين متجاورين. والتبديل الوحيد الذي لا تكتشفه هو تجاور 0 و9. كما أنها لا تكتشف ثلاث عمليات استبدال «مزدوجة» محددة: 22 بدلًا من 55، و33 بدلًا من 66، و44 بدلًا من 77.
هل يعني رقم لوهن الصالح أن البطاقة حقيقية؟
لا. يؤكد الفحص فقط أن الأرقام توافق النمط المتوقع. ولا يوضح ما إذا كانت البطاقة موجودة أو نشطة أو تحتوي على أموال. وتضيف المؤسسات فحوصًا منفصلة لذلك، مثل رمز CVV.
هل يمكن إجراء فحص لوهن دون حاسوب؟
نعم. فهو يحتاج فقط إلى المضاعفة والطرح والجمع، ولذلك يمكن إجراؤه يدويًا أو باستخدام حاسبة بسيطة. وكان ذلك جزءًا من التصميم الأصلي، المخصص لعصر البطاقات المثقبة قبل شيوع الحواسيب الرقمية.
هل الأرقام المُولّدة أرقام بطاقات حقيقية؟
لا. لا يُنتج المولّد سوى سلاسل أرقام تستوفي فحص لوهن. وهي مخصصة لاختبار نماذج الإدخال. ولم يُصدرها أي بنك، ولا يمكن استخدامها لدفع ثمن أي شيء.
لماذا تُسمى خوارزمية mod 10؟
لأن الخطوة الأخيرة تتحقق مما إذا كان المجموع قابلًا للقسمة التامة على 10، وهو ما يُكتب في الرياضيات على النحو التالي: "sum mod 10 = 0". و«mod» اختصار لكلمة modulo، أي الباقي المتبقي بعد القسمة.
من اخترع خوارزمية لوهن؟
وصف هانس بيتر لوهن، وهو مهندس في IBM، الخوارزمية في طلب براءة اختراع أُودع في 1954 (ومُنحت في 1960 بوصفها براءة الاختراع الأمريكية 2,950,048). ويُعرف أيضًا بعمله المبكر في فهرسة النصوص المحوسبة.