कार्ड नंबर का आख़िरी अंक अपने आप नहीं आता — यह एक चेकसम है, जिसे ख़ासतौर पर उस तरह की टाइपिंग गलती पकड़ने के लिए डिज़ाइन किया गया था जो कोई भी लंबा नंबर हाथ से टाइप करते समय कर बैठता है।
Luhn एल्गोरिद्म कैसे काम करता है
यह एल्गोरिद्म नंबर के अंकों को दाईं से बाईं ओर पढ़ता है, हर दूसरे अंक को दोगुना करता है, और अगर परिणाम 9 से अधिक हो तो उसमें से 9 घटा देता है। अगर नंबर सही ढंग से डाला गया है, तो सभी अंकों का योग 10 से पूरी तरह विभाज्य होता है।
RuPay: भारत का अपना घरेलू कार्ड नेटवर्क
Visa और Mastercard के अलावा भारत में 2012 से NPCI (National Payments Corporation of India) का अपना घरेलू कार्ड नेटवर्क RuPay भी चलता है, जिसे विशेष रूप से भारतीय बैंकिंग लेन-देन के लिए बनाया गया था। RuPay कार्ड भी Luhn चेक से गुज़रते हैं — यह एल्गोरिद्म किसी एक पेमेंट नेटवर्क तक सीमित नहीं है — लेकिन इनका BIN प्रीफ़िक्स Visa और Mastercard की रेंज से अलग होता है, जिससे नंबर के शुरुआती अंकों से ही नेटवर्क पहचाना जा सकता है।
Luhn वैलिड होने का मतलब कार्ड का असली होना नहीं
Luhn चेक सिर्फ़ नंबर की गणितीय बनावट की पुष्टि करता है, यह नहीं बताता कि उसके पीछे बैंक में कोई असली खाता है या नहीं। इस जांच को पास करने वाले लाखों नंबर आसानी से बनाए जा सकते हैं, जिनमें से कोई भी किसी असली कार्ड से जुड़ा नहीं होगा — इसलिए हर असली लेन-देन में अंतिम पुष्टि हमेशा कार्ड जारी करने वाला बैंक ही करता है।
यह किस काम आता है
- फ़ॉर्म सर्वर पर भेजने से पहले क्लाइंट साइड पर ही गलत कार्ड नंबर पकड़ना।
- लंबा नंबर हाथ से टाइप करते समय हुई स्पष्ट टाइपिंग गलती तुरंत पकड़ना।
- यह समझना कि Luhn चेक असल में क्या साबित करता है और क्या नहीं।
नंबर से पेमेंट नेटवर्क पहचानना (BIN)
कार्ड नंबर के शुरुआती कुछ अंक BIN (Bank Identification Number) कहलाते हैं, जिनसे पूरी Luhn जांच से पहले ही पेमेंट नेटवर्क पहचाना जा सकता है। Visa नंबर 4 से, Mastercard नंबर 51–55 या नई 2221–2720 रेंज से, American Express 34 या 37 से, और RuPay कार्ड अपनी अलग BIN रेंज से शुरू होते हैं — इसी प्रीफ़िक्स की मदद से पेमेंट फ़ॉर्म टाइप करते समय ही सही नेटवर्क आइकन दिखा देता है।