كيف يعمل رقم التحقق في IMEI (خوارزمية Luhn) + حاسبة مجانية
تعرّف على طريقة حساب رقم التحقق في IMEI بخوارزمية Luhn خطوة بخطوة مع مثال حقيقي، ثم تحقق من صحة أي رقم IMEI بحاسبتنا المجانية على الإنترنت.
حُدِّث · قراءة 4 دقائق
في هذا المقال
الخانة الأخيرة في كل رقم IMEI ليست جزءًا من الرقم التسلسلي للهاتف على الإطلاق. إنها رقم تحقق، أي رقم واحد يُحسب من الخانات الأربع عشرة الأولى، بحيث يمكن كشف أخطاء الكتابة وكثير من أرقام IMEI المختلَقة فورًا، دون الرجوع إلى أي قاعدة بيانات.
تُسمى هذه المعادلة خوارزمية Luhn (وتُعرف أيضًا باسم «mod 10»). وهي الطريقة نفسها التي تحمي أرقام بطاقات الائتمان. وما إن ترى مثالًا محلولًا حتى تستطيع التحقق من أي رقم IMEI بالورقة والقلم في أقل من دقيقة.
أين يقع رقم التحقق في رقم IMEI
يتكون رقم IMEI المؤلف من 15 خانة من رمز TAC من 8 خانات (رمز تخصيص النوع، ويحدد العلامة التجارية والطراز)، ورقم تسلسلي من 6 خانات، ثم رقم التحقق في النهاية. ويعتمد رقم التحقق على الخانات الأربع عشرة التي تسبقه كلها، لذا فإن تغيير أي خانة واحدة يُفسده في الغالب. (تريد الصورة الأشمل؟ اقرأ ما هو رقم IMEI وما هو رمز TAC.)
أما رقم IMEISV المكوّن من 16 خانة الذي تعرضه بعض الهواتف فلا يحتوي على رقم تحقق، إذ إن خانتيه الأخيرتين تمثلان رقم إصدار البرنامج. ووحده رقم IMEI المكوّن من 15 خانة يستخدم خوارزمية Luhn.
خوارزمية Luhn في أربع قواعد
- خذ الخانات الأربع عشرة الأولى من رقم IMEI.
- بدءًا من اليسار، ضاعف كل خانة ثانية (المواضع 2 و4 و6 و8 و10 و12 و14).
- إن نتج عن المضاعفة عدد من خانتين، فاجمع خانتيه معًا (مثلًا 16 تصبح 1 + 6 = 7). وهذا يعادل طرح 9.
- اجمع كل شيء. رقم التحقق هو العدد الذي يلزم إضافته للوصول إلى المضاعف التالي للعدد 10. وإن كان المجموع ينتهي أصلًا بصفر، فرقم التحقق هو 0.
مثال محلول: 35693803564380
لنحسب رقم التحقق للخانات الأربع عشرة الأولى 35693803564380 خطوة بخطوة.
الخطوة 1: اكتب الخانات وحدّد كل خانة ثانية
| الموضع | الخانة | مُضاعَفة؟ | النتيجة | مجموع الخانات |
|---|---|---|---|---|
| 1 | 3 | لا | 3 | 3 |
| 2 | 5 | نعم | 10 | 1 + 0 = 1 |
| 3 | 6 | لا | 6 | 6 |
| 4 | 9 | نعم | 18 | 1 + 8 = 9 |
| 5 | 3 | لا | 3 | 3 |
| 6 | 8 | نعم | 16 | 1 + 6 = 7 |
| 7 | 0 | لا | 0 | 0 |
| 8 | 3 | نعم | 6 | 6 |
| 9 | 5 | لا | 5 | 5 |
| 10 | 6 | نعم | 12 | 1 + 2 = 3 |
| 11 | 4 | لا | 4 | 4 |
| 12 | 3 | نعم | 6 | 6 |
| 13 | 8 | لا | 8 | 8 |
| 14 | 0 | نعم | 0 | 0 |
الخطوة 2: اجمع الخانات غير المُضاعَفة
المواضع 1 و3 و5 و7 و9 و11 و13: 3 + 6 + 3 + 0 + 5 + 4 + 8 = 29.
الخطوة 3: اجمع مجاميع الخانات المُضاعَفة
المواضع 2 و4 و6 و8 و10 و12 و14: 1 + 9 + 7 + 6 + 3 + 6 + 0 = 32.
الخطوة 4: أوجد رقم التحقق
المجموع: 29 + 32 = 61. المضاعف التالي للعدد 10 هو 70، و70 − 61 = 9. إذن رقم التحقق هو 9، ورقم IMEI الكامل هو 356938035643809.
أخطاء شائعة عند الحساب يدويًا
الحساب بسيط، لكن أربع زلّات تقف وراء كل إجابة خاطئة تقريبًا:
- مضاعفة الخانات الخطأ. ضاعف المواضع 2 و4 و6… حتى 14، مع العدّ من يسار الخانات الأربع عشرة. أما مضاعفة المواضع الفردية بدلًا منها فتعطي إجابة مختلفة (خاطئة). الشروحات العامة لخوارزمية Luhn تعدّ من اليمين، وفي حالة IMEI يوصلك ذلك إلى الخانات نفسها، لكن العدّ من اليسار أسهل لتجنب الخطأ.
- إضافة 10 بدلًا من 1 + 0. الخانة 5 بعد مضاعفتها تصبح 10، وتُسهم بـ 1 لا بـ 10. وبالمثل تُسهم 18 بـ 9 و16 بـ 7.
- استخدام الخانات الخمس عشرة كلها في الحساب. عند الحساب، استبعد الخانة الخامسة عشرة. وعند التحقق بالجمع، أدخلها لكن لا تضاعفها.
- نسيان حالة الصفر. إن كان المجموع أصلًا من مضاعفات 10 (لنقل 60)، فرقم التحقق هو 0 لا 10.
وإليك اختبارًا سريعًا مفيدًا: قيمة الخانة بعد مضاعفتها وجمع خانتيها تكون دائمًا 0 و2 و4 و6 و8 و1 و3 و5 و7 و9 للمدخلات من 0 إلى 9 على الترتيب. احفظ هذا التسلسل وستستطيع إجراء الحساب كله في ذهنك.
لماذا تستخدم أرقام IMEI خوارزمية Luhn أصلًا
تُنسخ أرقام IMEI يدويًا طوال الوقت: تُقرأ من العلبة، وتُكتب في نماذج شركات الاتصالات، وتُرسل إلى المشتري عبر WhatsApp. وقد اعتمدت هيئة معايير GSM معادلة Luhn لأنها سريعة الحساب على أي جهاز، ولا تحتاج إلى جدول بحث، وتكشف الأخطاء التي يقع فيها الناس فعلًا. وبذلك تستطيع برمجيات الهواتف وبوابات شركات الاتصالات وخدمات الفحص رفض رقم IMEI المكتوب خطأً فورًا، قبل أن يصل إلى أي قاعدة بيانات.
كيف تتحقق من صحة رقم IMEI كامل من 15 خانة
للتحقق من رقم IMEI لديك بالفعل، هناك طريقتان متكافئتان:
- أعد الحساب: طبّق الخطوات أعلاه على الخانات الأربع عشرة الأولى وقارن إجابتك بالخانة الخامسة عشرة.
- اجمع الخانات الخمس عشرة: طبّق المضاعفة نفسها على المواضع 2–14، واجمع كل الخانات بما فيها رقم التحقق، ويجب أن ينتهي المجموع بصفر. في مثالنا: 61 + 9 = 70، أي أن الرقم صالح.
أو دع الحاسبة تتولى الأمر. الصق رقم IMEI من 15 خانة للتحقق من صحته، أو 14 خانة لحساب رقم التحقق الناقص:
جرّبه في الطرفية
تفضّل سطر الأوامر؟ في الطرفية أدناه، اكتب checkdigit 35693803564380 واضغط Enter، وستحصل على 9. ثم اكتب imei 356938035643809 لترى التفصيل الكامل، أو غيّر خانة واحدة وشاهده يفشل.
ويمكن للمطورين إعادة الحساب نفسه بأمر Python من سطر واحد:
python3 -c "d='35693803564380';s=sum(int(c) if i%2==0 else sum(divmod(int(c)*2,10)) for i,c in enumerate(d));print((10-s%10)%10)"استبدل الخانات الأربع عشرة بين علامتي الاقتباس بخاناتك. يضاعف السكربت كل خانة ثانية، ويجمع خانات كل ناتج، ثم يطبع رقم التحقق.
ما الذي يثبته رقم التحقق الصالح، وما الذي لا يثبته
خوارزمية Luhn أداة لكشف الأخطاء المطبعية، لا نظام أمان. فهي تكشف أي خانة واحدة مكتوبة خطأً، وتكشف تقريبًا كل تبديل بين خانتين متجاورتين (الاستثناء الوحيد هو تبديل 09 و90). ولهذا فهي مثالية لاكتشاف أخطاء النسخ حين يرسل إليك أحدهم رقم IMEI عبر المحادثة.
لكن أي شخص يعرف المعادلة يستطيع توليد رقم «صالح». ونجاح رقم التحقق لا يخبرك بشيء عن:
- ما إذا كان رقم IMEI قد خُصِّص فعلًا لهاتف حقيقي في أي وقت؛
- العلامة التجارية والطراز اللذين ينتمي إليهما؛
- ما إذا كان في القائمة السوداء، أو مقفلًا على شبكة، أو مقفلًا بـ iCloud.
الخطوة التالية: افحص السجلات
بعد أن ينجح الرقم في الاختبار، ابحث عمّا هو مسجّل عليه فعلًا. تأكد من العلامة التجارية والطراز عبر فحص الشركة المصنّعة + الطراز، وأجرِ فحص القائمة السوداء GSMA، واحصل لأجهزة iPhone على تقرير المعلومات الأساسية الشامل (أو الفحص الشامل عبر IMEI/الرقم التسلسلي للأجهزة الأخرى). وتجمع صفحة فحص IMEI لدينا كل ذلك في مكان واحد، ويوضح هذا الدليل كل الطرق للعثور على الرقم أولًا.
الأسئلة الشائعة
ما هو رقم التحقق في IMEI؟
هو الخانة الخامسة عشرة، ويُحسب من الخانات الأربع عشرة الأولى باستخدام خوارزمية Luhn. ويساعد على كشف الأخطاء المطبعية والأرقام غير الصالحة.
كيف أحسب رقم التحقق في IMEI؟
ضاعف كل خانة ثانية من الخانات الأربع عشرة الأولى، واجمع خانات كل ناتج، ثم اجمع كل شيء معًا، واطرح المجموع من المضاعف التالي للعدد 10.
هل يعني رقم التحقق الصالح أن الهاتف أصلي؟
لا. فهو يثبت فقط أن الرقم سليم الصيغة. استخدم فحص IMEI للتأكد من الطراز وحالة القائمة السوداء.
ماذا يعني أن رقم IMEI الخاص بي غير صالح؟
في أغلب الأحيان يكون خطأً مطبعيًا. أما إن عرض الهاتف نفسه رقم IMEI غير صالح عبر *#06#، فقد يكون الجهاز مقلدًا أو قد يكون رقم IMEI فيه مُعدَّلًا.
هل يحتوي رقم IMEISV على رقم تحقق؟
لا. ينتهي رقم IMEISV المكوّن من 16 خانة برقم إصدار برنامج من خانتين بدلًا من رقم التحقق.