رقم التحقق
رقم التحقق هو شكل من أشكال التحقق من التكرار المستخدم للكشف عن الأخطاء في أرقام التعريف، مثل أرقام الحسابات المصرفية، والتي تُستخدم في تطبيق حيث سيتم إدخالها يدويًا في بعض الأحيان على الأقل. وهو مشابه لبت التكافؤ الثنائي المستخدم للتحقق من الأخطاء في البيانات التي يتم إنشاؤها بواسطة الكمبيوتر. ويتكون من رقم أو أكثر (أو أحرف) يتم حسابها بواسطة خوارزمية من الأرقام (أو الأحرف) الأخرى في تسلسل الإدخال. [1]
باستخدام رقم الفحص، يمكن للمرء أن يكتشف أخطاء بسيطة في إدخال سلسلة من الأحرف (عادةً أرقام) مثل رقم واحد مكتوب بشكل خاطئ أو بعض التباديل لرقمين متتاليين.
تصميم
تم تصميم خوارزميات التحقق الرقمي بشكل عام لالتقاط أخطاء النسخ البشرية . وفقًا لترتيب التعقيد، تتضمن هذه الخوارزميات ما يلي: [2]
- أخطاء الحروف/الأرقام، مثل l → 1 أو O → 0
- أخطاء مكونة من رقم واحد، مثل 1 → 2
- أخطاء النقل، مثل 12 → 21
- أخطاء توأمية، مثل 11 → 22
- أخطاء النقل القفزي، مثل 132 → 231
- أخطاء التوأم القفزي، مثل 131 → 232
- الأخطاء الصوتية، مثل 60 → 16 ("ستين" إلى "ستة عشر")
عند اختيار نظام ما، يتم الموازنة بين الاحتمالية العالية لالتقاط الأخطاء وصعوبة التنفيذ؛ حيث يمكن للبشر فهم وتنفيذ أنظمة الأرقام الاختبارية البسيطة بسهولة، ولكنها لا تلتقط العديد من الأخطاء مثل الأنظمة المعقدة، والتي تتطلب برامج متطورة لتنفيذها.
الميزة المرغوبة هي أن الحشو الأيسر بالأصفار لا ينبغي أن يغير رقم الاختبار. وهذا يسمح باستخدام أرقام ذات أطوال متغيرة وتغيير الطول. إذا تمت إضافة رقم اختبار واحد إلى الرقم الأصلي، فلن يلتقط النظام دائمًا أخطاء متعددة ، مثل خطأي الاستبدال (12 → 34)، على الرغم من أنه عادةً ما يتم اكتشاف الأخطاء المزدوجة بنسبة 90% من الوقت (سيحتاج كلا التغييرين إلى تغيير الناتج عن طريق تعويض المبالغ).
ستكون طريقة التحقق من الأرقام البسيطة للغاية هي أخذ مجموع جميع الأرقام ( المجموع الرقمي ) modulo 10. سيؤدي ذلك إلى اكتشاف أي خطأ في رقم واحد، حيث سيؤدي مثل هذا الخطأ دائمًا إلى تغيير المجموع، ولكنه لا يكتشف أي أخطاء في النقل (تبديل رقمين) لأن إعادة الترتيب لا تغير المجموع.
الطريقة الأكثر تعقيدًا قليلًا هي أخذ المجموع المرجح للأرقام، modulo 10، بأوزان مختلفة لكل موضع رقم.
لتوضيح ذلك، على سبيل المثال، إذا كانت الأوزان لرقم مكون من أربعة أرقام هي 5، 3، 2، 7 وكان الرقم الذي يجب ترميزه هو 4871، فيجب أن نأخذ 5×4 + 3×8 + 2×7 + 7×1 = 65، أي 65 modulo 10، وسيكون رقم الاختبار هو 5، مما يعطينا 48715.
تُستخدم على نطاق واسع أنظمة بأوزان 1 أو 3 أو 7 أو 9، مع اختلاف الأوزان على الأرقام المجاورة: على سبيل المثال، 31 وزنًا 31 في أكواد UPC ، و13 وزنًا 13 في أرقام EAN (خوارزمية GS1)، و371 وزنًا 371 371 371 المستخدمة في أرقام النقل الخاصة بالبنك في الولايات المتحدة . يكتشف هذا النظام جميع الأخطاء المكونة من رقم واحد وحوالي 90٪ [ بحاجة لمصدر ] من أخطاء النقل. تُستخدم الأعداد 1 و3 و7 و9 لأنها أعداد أولية مشتركة مع 10، لذا فإن تغيير أي رقم يغير رقم الاختبار؛ سيؤدي استخدام معامل قابل للقسمة على 2 أو 5 إلى فقد المعلومات (لأن 5×0 = 5×2 = 5×4 = 5×6 = 5×8 = 0 modulo 10) وبالتالي لا يتم اكتشاف بعض الأخطاء المكونة من رقم واحد. يعني استخدام أوزان مختلفة على الأرقام المجاورة أن معظم عمليات النقل تغير رقم الاختبار؛ ومع ذلك، نظرًا لأن جميع الأوزان تختلف برقم زوجي، فإن هذا لا يشمل النقلات بين رقمين يختلفان بـ 5 (0 و5، 1 و6، 2 و7، 3 و8، 4 و9)، حيث إن ضرب 2 و5 يعطي 10.
يستخدم رمز ISBN-10 بدلاً من ذلك modulo 11، وهو أولي، وجميع مواضع الأرقام لها أوزان مختلفة 1، 2، ... 10. وبالتالي يكتشف هذا النظام جميع أخطاء الاستبدال والنقل ذات الرقم الواحد (بما في ذلك النقلات المفاجئة)، ولكن على حساب أن رقم الاختبار قد يكون 10، ويمثله "X". (البديل هو ببساطة تجنب استخدام الأرقام التسلسلية التي تؤدي إلى رقم اختبار "X"). يستخدم ISBN-13 بدلاً من ذلك خوارزمية GS1 المستخدمة في أرقام EAN.
تتضمن الخوارزميات الأكثر تعقيدًا خوارزمية Luhn (1954)، والتي تلتقط 98% من أخطاء النقل المكونة من رقم واحد (لا تكتشف 90 ↔ 09) وخوارزمية Verhoeff الأكثر تطورًا (1969)، والتي تلتقط جميع أخطاء الاستبدال والنقل المكونة من رقم واحد، والعديد (ولكن ليس كلها) من الأخطاء الأكثر تعقيدًا. على غرار طريقة أخرى تعتمد على الجبر المجرد ، خوارزمية Damm (2004)، والتي تكتشف أيضًا جميع أخطاء الرقم الواحد وجميع أخطاء النقل المجاورة. تستخدم هذه الطرق الثلاث رقم اختبار واحدًا وبالتالي ستفشل في التقاط حوالي 10% [ بحاجة لمصدر ] من الأخطاء الأكثر تعقيدًا. لتقليل معدل الفشل هذا، من الضروري استخدام أكثر من رقم اختبار واحد (على سبيل المثال، فحص modulo 97 المشار إليه أدناه، والذي يستخدم رقمين اختباريين - للخوارزمية، انظر رقم الحساب المصرفي الدولي ) و/أو استخدام نطاق أوسع من الأحرف في رقم الاختبار، على سبيل المثال الأحرف بالإضافة إلى الأرقام.
أمثلة
UPC، EAN، GLN، GTIN، الأرقام التي تديرها GS1
الرقم الأخير من رمز المنتج العالمي أو رقم المقالة الدولي أو رقم الموقع العالمي أو رقم العنصر التجاري العالمي هو رقم اختبار يتم حسابه على النحو التالي: [3] [4]
- قم بإضافة الأرقام في المواضع الفردية من اليسار (الأول، الثالث، الخامس، إلخ - باستثناء رقم الاختبار) معًا ثم اضربها في ثلاثة.
- أضف الأرقام (حتى الرقم الاختباري ولكن لا تشمله) في المواضع الزوجية (الثاني، الرابع، السادس، إلخ) إلى النتيجة.
- خذ باقي النتيجة مقسومًا على 10 (أي عملية modulo 10). إذا كان الباقي يساوي 0، فاستخدم 0 كرقم اختبار، وإذا لم يكن 0، فاطرح الباقي من 10 لاستنتاج رقم الاختبار.
تتوفر حاسبة رقمية للتحقق من صحة أرقام GS1 ووثائق تفصيلية على الإنترنت على موقع GS1 على الويب. [5] تُظهر صفحة حاسبة رسمية أخرى أن آلية GTIN-13 هي نفسها بالنسبة لرقم الموقع العالمي /GLN. [6]
على سبيل المثال، رمز UPC-A لعلبة مناديل ورقية هو "036000241457". الرقم الأخير هو رقم الاختبار "7"، وإذا كانت الأرقام الأخرى صحيحة، فيجب أن ينتج عن حساب رقم الاختبار الرقم 7.
- أضف الأرقام الفردية: 0+6+0+2+1+5 = 14.
- اضرب النتيجة في 3: 14 × 3 = 42.
- أضف أرقام الأعداد الزوجية: 3+0+0+4+4 = 11.
- أضف النتيجتين معًا: 42 + 11 = 53.
- لحساب رقم الاختبار، خذ الباقي من (53 / 10)، والذي يُعرف أيضًا باسم (53 modulo 10)، وإذا لم يكن 0، اطرح من 10. وبالتالي، تكون قيمة رقم الاختبار 7. أي (53 / 10) = 5 الباقي 3؛ 10 - 3 = 7.
مثال آخر: لحساب رقم الاختبار للعنصر الغذائي التالي "01010101010 x ".
- أضف الأرقام الفردية: 0+0+0+0+0+0+0 = 0.
- اضرب النتيجة في 3: 0 × 3 = 0.
- أضف أرقام الأعداد الزوجية: 1+1+1+1+1=5.
- أضف النتيجتين معًا: 0 + 5 = 5.
- لحساب رقم الاختبار، خذ الباقي من (5 / 10)، والذي يُعرف أيضًا باسم (5 modulo 10)، وإذا لم يكن 0، اطرح من 10: أي (5 / 10) = 0 الباقي 5؛ (10 - 5) = 5. وبالتالي، فإن قيمة رقم الاختبار x هي 5.
رقم الكتاب الدولي المعياري 10
الحرف الأخير من رقم الكتاب الدولي الموحد المكون من عشرة أرقام هو رقم اختبار يتم حسابه بحيث يكون ضرب كل رقم في موضعه في الرقم (العد من اليمين) وأخذ مجموع هذه الضرب modulo 11 هو 0. الرقم الأبعد إلى اليمين (الذي يتم ضربه في 1) هو رقم الاختبار، والذي تم اختياره لجعل المجموع صحيحًا. قد يلزم أن يكون له القيمة 10، والتي يتم تمثيلها بالحرف X. على سبيل المثال، خذ رقم ISBN 0-201-53082-1 : مجموع الضرب هو 0×10 + 2×9 + 0×8 + 1×7 + 5×6 + 3×5 + 0×4 + 8×3 + 2×2 + 1×1 = 99 ≡ 0 (mod 11). لذا فإن رقم ISBN صالح. يمكن أيضًا حساب المواضع من اليسار، وفي هذه الحالة يتم ضرب رقم الاختبار في 10 للتحقق من الصحة: 0×1 + 2×2 + 0×3 + 1×4 + 5×5 + 3×6 + 0×7 + 8×8 + 2×9 + 1×10 = 143 ≡ 0 (mod 11).
رقم الكتاب الدولي المعياري 13
رقم ISBN 13 (المستخدم منذ يناير 2007) يساوي رمز EAN-13 الموجود أسفل الرمز الشريطي للكتاب. يتم إنشاء رقم التحقق بنفس طريقة إنشاء رمز UPC. [7]
الرابطة الوطنية لتنمية المجتمع
تم تصميم خوارزمية فحص رقم NOID (NCDA)، [8] المستخدمة منذ عام 2004، للتطبيق في المعرفات الدائمة وتعمل مع سلاسل ذات أطوال متغيرة من الحروف والأرقام، تسمى الأرقام الممتدة. يتم استخدامها على نطاق واسع مع مخطط معرف ARK وتستخدم إلى حد ما مع المخططات، مثل نظام Handle و DOI . يقتصر الرقم الممتد على الأحرف البيتا رقمية، وهي أبجدية رقمية مطروحًا منها أحرف العلة والحرف 'l' (ell). يساعد هذا القيد عند إنشاء سلاسل غير شفافة من غير المرجح أن تشكل كلمات عن طريق الصدفة ولن تحتوي على كل من O و 0، أو l و 1. نظرًا لوجود أساس أولي R = 29، فإن ذخيرة البيتا رقمية تسمح للخوارزمية بضمان اكتشاف أخطاء الحرف الواحد والنقل [9] للسلاسل التي يقل طولها عن R = 29 حرفًا (وبعد ذلك توفر فحصًا أضعف قليلاً). تعمم الخوارزمية على أي مجموعة أحرف ذات أساس أولي R وسلاسل أقل من R حرف في الطول.
أمثلة أخرى على أرقام التحقق
دولي
- رقم SEDOL الدولي.
- الرقم الأخير من رمز ISSN أو رقم IMO .
- الرقم الدولي للتعريف للأوراق المالية (ISIN).
- الرقم النهائي القياسي لمجموعة إدارة الكائنات FIGI . [10]
- الرقم النهائي لرقم التسجيل الدولي CAS .
- نموذج 10 أرقام التحقق في أرقام حسابات بطاقات الائتمان ، تم حسابها بواسطة خوارزمية لوهن .
- تُستخدم أيضًا في أرقام KID (رقم تعريف العميل) النرويجية المستخدمة في التحويلات المصرفية (تحويل الائتمان)،
- تستخدم في IMEI للهواتف المحمولة.
- آخر رقم تحقق في التسلسل التسلسلي EAN/UPC لرقم التعريف التجاري العالمي ( GTIN ). ينطبق على GTIN-8 وGTIN-12 وGTIN-13 وGTIN-14.
- الرقم الأخير من رقم DUNS (على الرغم من أنه من المقرر أن يتغير، مثل أن الرقم الأخير سيتم اختياره بحرية في التخصيصات الجديدة، بدلاً من أن يكون رقم اختبار).
- الرقمان الثالث والرابع في رقم الحساب المصرفي الدولي (فحص نموذج 97).
- الرقم الأخير في رمز النص القياسي الدولي .
- إن الحرف النهائي المشفر في بطاقة الشريط المغناطيسي هو عبارة عن فحص التكرار الطولي المحسوب .
في الولايات المتحدة
- الرقم العاشر من معرف مقدم الخدمة الوطني لصناعة الرعاية الصحية في الولايات المتحدة.
- الرقم الأخير من رمز POSTNET .
- رقم CUSIP لأمريكا الشمالية .
- الرقم الأخير (التاسع) من رقم توجيه ABA ، وهو رمز بنكي يستخدم في الولايات المتحدة.
- الرقم التاسع من رقم تعريف السيارة (VIN).
- تتضمن أرقام تعريف المرضى في Mayo Clinic المستخدمة في ولايتي أريزونا وفلوريدا رقم فحص لاحق [ بحاجة لمصدر ] .
- الرقم الحادي عشر من رقم إدخال الجمارك وحماية الحدود .
في أمريكا الوسطى
- الرقم الضريبي الغواتيمالي (NIT - Número de Identificación Tributaria) استنادًا إلى modulo 11.
في أوراسيا
- يستخدم رقم NHS في المملكة المتحدة خوارزمية modulo 11.
- رقم التعريف المالي الإسباني (número de identificación Financial، NIF) (استنادًا إلى modulo 23).
- يستخدم رقم خدمة البرجر الهولندي (BSN) (المعرف الوطني) خوارزمية modulo 11.
- الرقم التاسع من رقم بطاقة الهوية الإسرائيلية .
- الرقم الثالث عشر من الرقم الرئيسي الفريد للمواطن الصربي واليوغوسلافي السابق (JMBG). (ولكن ليس كلها، بسبب الأخطاء أو عدم الإقامة)
- الرقمين الأخيرين من رقم الهوية التركي المكون من 11 رقمًا ( التركي : TC Kimlik Numarası ).
- الرقم التاسع في رقم جواز سفر الماشية للاتحاد الأوروبي المكون من 14 حرفًا (دورات من 1 إلى 7: راجع خدمة نقل الماشية البريطانية ).
- الرقم التاسع في الكينيتالا الأيسلندية (رقم الهوية الوطنية).
- نموذج 97 من أرقام التحقق في أرقام الحسابات المصرفية البلجيكية والصربية . تستخدم صربيا أحيانًا نموذج 11 أيضًا كرقم مرجعي.
- الرقم التاسع في رقم TAJ المجري (رقم التأمين الاجتماعي).
- بالنسبة لسكان الهند ، فإن رقم الهوية الفريد المسمى Aadhaar له رقم 12 لاحق يتم حسابه باستخدام خوارزمية Verhoeff . [11]
- أكد مكتب الملكية الفكرية في سنغافورة (IPOS) على تنسيق جديد لأرقام طلبات الملكية الفكرية القابلة للتسجيل (IP، على سبيل المثال، العلامات التجارية ، وبراءات الاختراع ، والتصميمات المسجلة ). وسوف يتضمن حرف فحص محسوبًا باستخدام خوارزمية Damm . [12]
- يتم حساب الرقم الأخير من رقم هوية المواطن الصيني (الجيل الثاني) باستخدام modulo 11-2 كما هو محدد في GuoBiao الصيني (المعروف أيضًا باسم المعيار الوطني) GB11643-1999 والذي يعتمد على ISO 7064:1983. يتم استخدام "X" إذا كان الرقم المحسوب هو 10.
- الرقم الحادي عشر من رمز التعريف الشخصي الإستوني ( Isikukood ).
- الحرف الأخير على لوحات تسجيل المركبات في سنغافورة .
في أوقيانوسيا
- رقم الملف الضريبي الأسترالي (بناءً على النموذج 11).
- الحرف السابع من رقم التأمين الصحي الوطني في نيوزيلندا .
- الرقم الأخير في رقم نظام مراقبة حركة المرور (TMS) الخاص بقاطرة نيوزيلندا .
الخوارزميات
تتضمن الخوارزميات البارزة ما يلي:
- خوارزمية لوهن (1954)
- خوارزمية فيرهوف (1969)
- خوارزمية دام (2004)
انظر أيضا
- المجموع الاختباري
- إخراج التسعة – فحص مجموع وحدات مماثل
- بت التحقق – المكافئ الثنائي
مراجع
- ^ "ما هو Check Digit؟ - تعريف من Techopedia". Techopedia.com . تم الاسترجاع في 2022-03-16 .
- ^ كيرتلاند، جوزيف (2001). أرقام التعريف ومخططات الأرقام المدققة. مواد الموارد الصفية. الجمعية الرياضية الأمريكية. ص 4-6. ISBN 978-0-88385-720-5.
- ^ "GS1 Check Digit Calculator". GS1 US. 2006. مؤرشف من الأصل في 2008-05-09 . تم الاسترجاع في 2008-05-21 .
- ^ "كيفية حساب رقم الاختبار يدويًا". GS1.
- ^ "آلة حاسبة للتحقق من الأرقام". GS1. 2005. تم الاسترجاع في 2008-05-21 .
- ^ "تحقق من الآلة الحاسبة الرقمية، في الموقع الرسمي لشركة GS1 في الولايات المتحدة". GS1 في الولايات المتحدة. مؤرشف من الأصل في 2016-11-21 . تم الاسترجاع في 2012-08-09 .
- ^ "دليل مستخدمي ISBN". وكالة ISBN الدولية. 2005. مؤرشف من الأصل في 2014-04-29 . تم الاسترجاع في 2008-05-21 .
- ^ Kunze, John A. "noid - Nice Opaque Identifier Generator commands". metacpan.org . مؤرشف من الأصل في 2022-05-22 . تم الاسترجاع في 2022-10-15 .
- ^ ديفيد بريسود، ستان واجون، "نظرية الأعداد الحسابية"، 2000، دار النشر كي كوليدج
- ^ "OpenFIGI: إطلاق العنان لقوة الكفاءة باستخدام Open Symbology". OpenFIGI . مؤرشف من الأصل في 2022-08-09 . تم الاسترجاع في 2022-10-15 .
- ^ "بطاقة هوية فريدة" (PDF) . Geek Gazette . خريف 2011. ص. 16. مؤرشف من الأصل (PDF) في 2014-06-26.
- عنوان URL البديل
- ^ Chong-Yee Khoo (20 يناير 2014). "تنسيق جديد لأرقام طلبات الملكية الفكرية في سنغافورة في مكتب براءات الاختراع الدولي". مدونة براءات الاختراع في سنغافورة . Cantab IP. مؤرشف من الأصل في 14 يوليو 2014. تم الاسترجاع في 6 يوليو 2014 .
روابط خارجية
- أرقام التعريف ومخططات الأرقام الاختبارية (شرح رياضي لمخططات الأرقام الاختبارية المختلفة)
- حاسبة أرقام التحقق UPC وEAN وSCC-14
- حاسبة GS1 ذات الأرقام الاختبارية