मेन्यू

राष्ट्रीय पहचान संख्या जनरेटर: KYC परीक्षण के लिए सही प्रारूप वाले पहचानकर्ता

राष्ट्रीय पहचान संख्या जनरेटर हर देश के अपने प्रारूप नियमों और चेक अंकों का पालन करने वाले पहचानकर्ता बनाता है। प्रारूप, जांचें और सीमाएं यहां पढ़ें।

प्रकाशित

  • टेस्ट डेटा
  • पहचान
  • KYC

राष्ट्रीय पहचान संख्या जनरेटर ऐसे पहचानकर्ता बनाता है जो उस प्रारूप से मेल खाते हैं जो कोई देश असल में जारी करता है, जिसमें लंबाई, मान्य अक्षरों का समूह, चेक अंक का स्थान और वे भीतरी नियम शामिल हैं जिनकी वजह से एक संख्या वैध होती है और दूसरी अवैध। काम के औज़ार और किसी रैंडम अंकों की श्रृंखला के बीच का फ़र्क़ इन्हीं नियमों पर टिका है, क्योंकि हर गंभीर सत्यापन इनकी जांच करता है।

यह गाइड देखती है कि पहचान संख्याएं देशों के हिसाब से कैसे अलग होती हैं, 123456789 जैसा खोखला मान हर जांच में क्यों विफल होता है और इसलिए कुछ भी परखता नहीं, लंबाई को देश के हिसाब से अलग क्यों तय करना पड़ता है, और KYC प्रवाह में काल्पनिक रिकॉर्ड की ईमानदार सीमा कहां है। अंत तक आप जान जाएंगे कि किसी असली ऑनबोर्डिंग प्रक्रिया को परखने के लिए टेस्ट पहचान में कौन से गुण होने चाहिए।

पहचान संख्या एक ही प्रारूप में अलग-अलग लंबाई वाली क्यों नहीं होती?

यह आम धारणा कि हर देश ऐसा पहचानकर्ता जारी करता है जो मूल रूप से चेकसम वाली कोई लंबी संख्या है, कई मायनों में ग़लत है और वह ग़लती असली सिस्टम तोड़ देती है। देश इस बात पर अलग-अलग हैं कि पहचानकर्ता अंकों वाला है भी या नहीं, वह जन्म के समय जारी होता है या पंजीकरण के समय, उसमें कोई तारीख दर्ज है या नहीं, और वह किसी कार्ड पर छपता है या केवल किसी रजिस्ट्री में रहता है।

संयुक्त राज्य की Social Security Number नौ अंकों की होती है और तीन समूहों में बंटी होती है, और दिखने वाली संख्या में प्रारूप के अलावा कुछ और नहीं होता। यह जानना ज़रूरी है कि कौन सी सीमाएं कभी जारी ही नहीं की जातीं, क्योंकि जो सत्यापन हर नौ अंकों वाली श्रृंखला स्वीकार कर लेता है, वह ऐसी संख्याएं भी स्वीकार कर रहा है जो अस्तित्व में हो ही नहीं सकतीं।

चीन अठारह अक्षरों वाली निवासी पहचान संख्या जारी करता है जो एक पते के कोड से शुरू होती है, फिर जन्म तिथि लाती है, और एक ऐसे चेक अक्षर पर खत्म होती है जो X भी हो सकता है। ब्राज़ील CPF ग्यारह अंकों के रूप में जारी करता है जिसमें आख़िरी दो अंक पहले के नौ से निकाले गए चेक अंक होते हैं, और जिसे अक्सर विराम चिह्नों के साथ लिखा जाता है जिन्हें पार्सर को संभालना पड़ता है। तुर्की T.C. Kimlik No ग्यारह अंकों की होती है जिसका पहला अंक कभी शून्य नहीं होता और आख़िरी दो अंक बाकी अंकों से निकाले जाते हैं।

स्पेन DNI आठ अंकों के रूप में जारी करता है और उसके साथ एक चेक अक्षर जोड़ता है जो किसी शेषफल से निकाला जाता है, और विदेशी निवासियों के लिए NIE इसी तरीके से चलता है पर उसका शुरुआती अक्षर अलग होता है। इंडोनेशिया सोलह अंकों की NIK जारी करता है जिसमें किसी ज़िले का कोड और एक तारीख दर्ज होती है। वियतनाम बारह अंकों की नागरिक पहचान संख्या जारी करता है। रूस इकाई के हिसाब से दस या बारह अंकों की INN जारी करता है, और ग्यारह अंकों की SNILS भी।

इन सबका साझा निष्कर्ष यह है कि लंबाई या अक्षरों के समूह के आधार पर कोई सार्वभौमिक नियम बनाना संभव नहीं है। जो स्कीमा इस अंतर को मॉडल नहीं कर सकती, वह हर उस देश पर विफल होगी जिसके लिए उसे नहीं लिखा गया।

चेक अंक ही पूरी बात क्यों है?

चेक अंक अंकों की एक श्रृंखला को ऐसा मान बना देता है जिसकी भीतरी संगति की जांच की जा सके। उसके बिना सही लंबाई की हर संख्या बराबर वैध होती है, और जो फ़ील्ड केवल अक्षर गिनती है, वह टाइप की ग़लती, टूटा हुआ पेस्ट और गढ़ी हुई संख्या, तीनों को बराबर उत्साह से स्वीकार कर लेती है।

उसके साथ, कोई सत्यापन ग़लत टाइप हुए मानों का बड़ा हिस्सा उससे पहले ही ठुकरा सकता है कि वे आगे की किसी प्रक्रिया तक पहुंचें। पूरा फ़ायदा यही है, और इसी वजह से जो जनरेटर चेक अंक निकालता ही नहीं, वह ऐसा डेटा बनाता है जो उस सत्यापन रास्ते को परख ही नहीं सकता जिसकी उससे उम्मीद थी।

चेक अंक छोड़ने के नतीजे साफ़ दिखते हैं। खोखले मानों से भरा फ़िक्स्चर लंबाई की जांच पार कर लेगा और हर चेकसम में विफल होगा, यानी टेस्ट केवल अस्वीकृति वाली शाखा को छूएगा। जिस स्वीकृति वाली शाखा में प्रोडक्शन चलता है, वह अछूती रह जाएगी, और सूट सफलता बताता रहेगा जबकि उसने कुछ कवर ही नहीं किया।

यही वजह है कि दिखावट से ज़्यादा मायने गणित रखता है। जो पहचानकर्ता परीक्षण में इस्तेमाल किया जाए, उसके लिए सबसे ज़रूरी सवाल यह है कि वह किन देशों के नियम लागू करता है और क्या उसका नतीजा कोई स्वतंत्र सत्यापन पार करता है। इस साइट का सत्यापन टूल इसी मिलान के लिए काम आता है, क्योंकि वह जनरेटर की गणना को उसी नियम से आज़ादी से जांचता है।

एक और बात जोड़ें। चेक अंक की जांच कभी दोहराई हुई चीज़ नहीं है, भले ही लगे कि यह वही काम है जो जनरेटर पहले ही कर चुका। जनरेटर उसे बनाता है, सत्यापन उसे परखता है, और इन दोनों के अलग-अलग कार्यान्वयन होने की स्थिति में किसी एक की ग़लती पकड़ में आ जाती है। अगर दोनों एक ही कोड से आते हैं, तो जांच कुछ नहीं बताती।

लंबाई हर देश के लिए अलग क्यों तय करनी चाहिए?

पहचान वाली फ़ील्ड के बारे में कुछ भी जड़ कर नहीं रखना चाहिए। जो स्कीमा हर पहचानकर्ता को एक ही तय चौड़ाई के कॉलम में रखती है, वह लंबे मानों को काट देगी और छोटे मानों के लिए खाली जगह छोड़ देगी; और जो सत्यापन एक ही लंबाई मान लेता है, वह उस हर देश को ठुकराएगा जिसके लिए उसे नहीं लिखा गया।

व्यावहारिक रचना यह है: एक देश वाली फ़ील्ड जो नियमों का समूह चुनती है, और नियमों का वह समूह जिसमें लंबाई, अनुमत अक्षर, चेक का तरीका और मान को दिखाने का ढंग सब शामिल हों। जो मान सहेजा जाता है और जो मान दिखाया जाता है, वे आमतौर पर अलग होते हैं, क्योंकि कई देश ऐसे विराम चिह्न छापते हैं जो पहचानकर्ता का हिस्सा नहीं होते।

रचना को उन देशों को भी संभालना पड़ता है जो ऐसा कोई पहचानकर्ता जारी ही नहीं करते। ऐसे मामलों में फ़ील्ड का वैध रूप से ग़ायब होना चाहिए, न कि किसी विश्वसनीय दिखने वाली श्रृंखला से भरा जाना चाहिए। अनुपस्थित मान और ग़लत मान आगे की प्रक्रिया में अलग-अलग तरीके से विफल होते हैं, और जो स्कीमा अनुपस्थिति बता ही नहीं सकती, वह आख़िरकार ऐसे रिकॉर्ड में भी गढ़ा हुआ पहचानकर्ता भर देगी जिसमें वह कभी था ही नहीं।

जहां एक ही देश में कई पहचानकर्ता मौजूद हों, वहां मॉडल को उन्हें अलग-अलग पहचानना पड़ता है। कर संख्या, सामाजिक बीमा संख्या और राष्ट्रीय पहचान संख्या, ये तीनों एक ही क्षेत्राधिकार में ग्यारह अंकों की हो सकती हैं, और उन्हें एक ही फ़ील्ड मान लेने पर यह तय है कि कोई टेस्ट कभी ग़लत वाली पर दावा करेगा। हर पहचानकर्ता को फ़ॉर्म में उसकी जगह के हिसाब से नहीं, बल्कि यह बताकर नाम देना कि वह क्या है, उन्हें अलग रखने का सबसे सस्ता तरीका है, और इससे एक देश से लिया गया निर्यात दूसरे देश में पढ़ने लायक बन जाता है।

काल्पनिक पहचान संख्या KYC प्रवाह में कैसे व्यवहार करती है?

KYC प्रवाह आमतौर पर पहचान संख्या के साथ कई काम करता है। वह प्रारूप जांचता है, चेक अंक निकालता है, मान को किसी बाहरी सत्यापन सेवा को भेजता है, नतीजा सहेजता है, और कभी-कभी किसी दस्तावेज़ की तस्वीर भी रख लेता है। बनाई गई संख्या पहले दो काम पूरे करेगी और तीसरे पर विफल होगी, और काल्पनिक डेटा के लिए यही सही व्यवहार है।

तीसरे चरण की विफलता ही रिकॉर्ड को सुरक्षित बनाती है। चूंकि किसी जारी करने वाली संस्था को उस संख्या के होने का पता नहीं है, कोई सत्यापन सेवा उसकी पुष्टि नहीं कर सकती, और उसके नाम पर कोई खाता नहीं खुल सकता। अगर कोई बनाई गई संख्या कभी किसी बाहरी सत्यापन को पार कर जाए, तो इसका मतलब यह होगा कि वह संख्या किसी की थी, और यह जनरेटर का गंभीर दोष होगा, कोई विशेषता नहीं।

इसका मतलब यह है कि काल्पनिक पहचानकर्ताओं के साथ KYC परीक्षण दो स्तरों पर होता है। स्थानीय स्तर आपके अपने सत्यापन, फ़ॉर्मेटिंग, त्रुटि संभालने और भंडारण की परीक्षा लेता है, और काल्पनिक मान उसके लिए आदर्श हैं। एकीकरण स्तर के लिए सत्यापन विक्रेता का दिया हुआ सैंडबॉक्स चाहिए, और वे सैंडबॉक्स आमतौर पर अपनी तय टेस्ट पहचानों के साथ आते हैं। इन दोनों को मिला देना, यानी किसी काल्पनिक संख्या को किसी चल रहे सत्यापन बिंदु से गुज़ारना, सिवाय शोर के कुछ नहीं देता।

टीमों को इस बात पर भी सावधान रहना चाहिए कि वे बाहरी चरण पर किस चीज़ का दावा करती हैं। जो टेस्ट किसी असली विक्रेता से कोई ख़ास अस्वीकृति कोड मांगता है, वह विक्रेता का मौजूदा व्यवहार परख रहा है, जो बिना सूचना के बदल जाता है। जो टेस्ट यह मांगता है कि आपका अनुप्रयोग किसी अस्वीकृति को शालीनता से संभाले, वह आपके सॉफ़्टवेयर की परीक्षा ले रहा है, जो आपका अपना है।

यही तर्क जांच के समय पर भी लागू होता है। अगर आपका प्रवाह सत्यापन असमकालिक रूप से करता है, तो दिलचस्प मामले ये हैं: धीमा उत्तर, समय समाप्त होना, और ऐसा उत्तर जो दो बार आ जाए। इन्हें अपने नियंत्रण वाले किसी नकली उत्तर से पैदा करना उस विक्रेता के सैंडबॉक्स से सस्ता पड़ता है जो हमेशा एक ही तय ढंग से जवाब देता है।

पहचान परीक्षण की अनुपालन सीमाएं क्या हैं?

पहली सीमा यह है कि काल्पनिक रिकॉर्ड कोई व्यक्ति नहीं है। उसका नाम हो सकता है, जन्म तिथि हो सकती है, पता हो सकता है और पहचानकर्ता भी, और इनमें से कोई भी किसी का नहीं है। उसे किसी की पहचान बताकर पेश करना, या उससे किसी असली व्यक्ति की पहचान बनाना, दुरुपयोग है, चाहे वह रिकॉर्ड किसी भी तरह बना हो।

दूसरी सीमा असली डेटा से जुड़ी है। जो रिकॉर्ड किसी असली नाम को किसी असली पहचानकर्ता के साथ जोड़ता है, वह किसी भी व्यावहारिक परिभाषा से असली पहचान है, और ऐसे रिकॉर्ड परीक्षण के वातावरण में उतारना जानकारी का खुलासा है। ऐसा करना नियामकीय दृष्टि से भी समस्या है और संचालन की दृष्टि से भी, क्योंकि निचले वातावरण में उस डेटा पर वही पहुंच नियंत्रण नहीं होते जो प्रोडक्शन में होते हैं।

तीसरी सीमा मक़सद की है। बनाया गया पहचानकर्ता ऐसे प्रवाह की परीक्षा के लिए है जिसे आप चलाते हैं, और उसका उपयोग कोई असली खाता खोलने, कोई सत्यापन चरण पार करने, कोई लाभ लेने, कोई दस्तावेज़ पाने, या किसी की सुरक्षा के लिए बने किसी नियंत्रण को पार करने के लिए नहीं होना चाहिए। यह बात उतनी ही सच है जब वह प्रवाह आपका हो और जब किसी तीसरे पक्ष का हो।

चौथी सीमा डेटा रखने की है। काल्पनिक रिकॉर्ड भी जमा होते रहते हैं, और दस लाख बनाई गई पहचानों का डेटाबेस अपने आप में ख़तरनाक नहीं है, पर एक नज़र में उससे अलग नहीं लगता जो सचमुच ख़तरनाक है। बनाई गई पंक्तियों को चिह्नित करना, बनाने के मापदंड रखना, और ऐसे फ़िक्स्चर हटाते रहना जिनकी ज़रूरत नहीं रही, इस फ़र्क़ को दिखता रखता है।

पांचवीं सीमा ईमानदार प्रस्तुति की है। अगर किसी काल्पनिक रिकॉर्ड को कभी परीक्षण के वातावरण से बाहर जाना पड़े, किसी प्रदर्शन, स्क्रीनशॉट या प्रशिक्षण में, तो जहां भी कोई पाठक उसे किसी असली व्यक्ति के डेटा से भ्रमित कर सकता हो, वहां उसे बनाया हुआ बताया जाना चाहिए। वह चिह्न कुछ खर्च नहीं करता और ऐसा भ्रम हटा देता है जिसे पाठक अपने बल पर कभी नहीं सुलझा सकता।

टेस्ट पहचान रिकॉर्ड में क्या होना चाहिए?

काम का रिकॉर्ड केवल पहचानकर्ता नहीं, बल्कि फ़ील्डों का ऐसा समूह होता है जो आपस में मेल खाता हो। देश के अनुरूप नाम और उपनाम, किसी मान्य आयु सीमा से मेल खाती जन्म तिथि, उसी क्षेत्राधिकार के भीतर का पता, देश का कॉलिंग प्रीफ़िक्स लिए हुआ टेलीफ़ोन नंबर, और वे पहचानकर्ता जो वह देश असल में जारी करता है। उस समूह में हर जोड़ा दूसरे को बांधता है, और यही गुण रिकॉर्ड को उपयोगी बनाता है।

दावों के लिए एक तय रिकॉर्ड दें और खोजबीन के लिए एक बनाया गया रिकॉर्ड भी। तय रिकॉर्ड रिग्रेशन टेस्ट को सार्थक बनाता है, और बनाया गया रिकॉर्ड वे मामले ढूंढता है जिन्हें किसी ने लिखा ही नहीं। इस साइट का पहचान जनरेटर इस तरह बना है कि वही कुंजी और वही देश हमेशा वही रिकॉर्ड लौटाते हैं, जिससे एक फ़िक्स्चर कई रनों तक स्थिर रह सकता है जबकि बाकी रिकॉर्ड क्षेत्र में घूमते रहते हैं।

इसके बाद नतीजे को स्वतंत्र रूप से सत्यापित करें। कोई बनाया गया पहचानकर्ता लें, उसे प्रकाशित नियम से खुद लिखे गए सत्यापन से गुज़ारें, और पक्का करें कि चेक अंक पार होता है। यही एक आदत ऐसी ग़लत रचना का पूरा एक वर्ग पकड़ लेती है जिसमें देश तो सही चुना जाता है पर पड़ोसी देश के नियम लगा दिए जाते हैं।

अंत में रिकॉर्ड के भीतर के फ़ील्डों की आपसी जांच जोड़ें। जन्म तिथि और पहचान संख्या में दर्ज तारीख का मेल, पते का ज़िला और पहचान संख्या के ज़िला कोड का मेल, और नाम के वे अक्षर जो पहचान संख्या वाले देश की लिपि में लिखे जाने चाहिए। ये जांचें सस्ती हैं और यही सबसे आम ऐसी खामियां पकड़ती हैं जो एक-एक फ़ील्ड देखने पर कभी नहीं दिखतीं।

जब आप कोई टेस्ट पहचान रिकॉर्ड बनाएं, तो उसके साथ आने वाले पते और पहचानकर्ता के देश का मेल भी परखें, क्योंकि एक ही रिकॉर्ड में दो अलग देशों के नियम मिल जाना सबसे आम छिपी हुई खामी है।

इस तरह बनाया गया हर पहचानकर्ता काल्पनिक टेस्ट डेटा है। प्रारूप, लंबाई और चेक अंक प्रकाशित नियमों का पालन करते हैं ताकि सॉफ़्टवेयर को परखा जा सके, पर वह संख्या किसी व्यक्ति की नहीं है, उसे किसी प्राधिकरण ने कभी जारी नहीं किया, और उसका उपयोग किसी की पहचान बनाने, असली खाता खोलने या पंजीकृत करने, असली पहचान सत्यापन पार करने, या कोई लाभ या दस्तावेज़ पाने के लिए नहीं किया जाना चाहिए।

आगे पढ़ें

लोकप्रिय टूल और उपयोग संबंधी लेख

लोकप्रिय टूल और उपयोग संबंधी लेख

सबसे ज़्यादा खोजा जाने वाला उपयोग लेख, साइट के हर टूल के लिए एक।