Whiz Tools

CURP जनरेटर

परिचय

CURP (Clave Única de Registro de Población) एक अद्वितीय अल्फ़ान्यूमेरिक कोड है जिसका उपयोग मेक्सिको में पहचान के उद्देश्यों के लिए किया जाता है। यह उपकरण परीक्षण परिदृश्यों के लिए मान्य, यादृच्छिक CURP उत्पन्न करता है, जो आधिकारिक प्रारूप और मान्यता नियमों का पालन करता है। यह महत्वपूर्ण है कि ये उत्पन्न CURP वास्तविक व्यक्तियों से जुड़े नहीं हैं और केवल परीक्षण उद्देश्यों के लिए उपयोग किए जाने चाहिए।

CURP की संरचना

CURP 18 वर्णों का एक कोड है जिसमें निम्नलिखित प्रारूप होता है:

  1. पिता के उपनाम का पहला अक्षर
  2. पिता के उपनाम का पहला स्वर (पहले अक्षर को छोड़कर)
  3. माता के उपनाम का पहला अक्षर
  4. दिए गए नाम का पहला अक्षर 5-10. जन्म तिथि (YYMMDD प्रारूप)
  5. लिंग (पुरुष के लिए H, महिला के लिए M) 12-13. जन्म राज्य के लिए दो-हरफ का कोड 14-16. प्रत्येक नाम घटक (पिता का उपनाम, माता का उपनाम, दिए गए नाम) का पहला आंतरिक व्यंजन
  6. विभेदन अंक (2000 से पहले जन्मे लोगों के लिए 0-9, 2000 के बाद जन्मे लोगों के लिए A-Z)
  7. जांच अंक (0-9)

यादृच्छिक CURP उत्पन्न करने के लिए एल्गोरिदम

  1. नाम घटकों के लिए यादृच्छिक अक्षर उत्पन्न करें
  2. जन्म तिथि उत्पन्न करें
  3. लिंग यादृच्छिक रूप से चुनें
  4. एक मान्य राज्य कोड यादृच्छिक रूप से चुनें
  5. आंतरिक नाम घटकों के लिए यादृच्छिक व्यंजन उत्पन्न करें
  6. जन्म वर्ष के आधार पर विभेदन अंक निर्धारित करें
  7. जांच अंक की गणना करें
  8. सभी घटकों को मिलाकर CURP बनाएं

मान्यता नियम

  • सभी वर्णात्मक अक्षर बड़े अक्षरों में होने चाहिए
  • जन्म तिथि एक मान्य तिथि होनी चाहिए (लीप वर्ष पर विचार करते हुए)
  • राज्य कोड एक मान्य मेक्सिकन राज्य कोड होना चाहिए
  • विभेदन अंक जन्म वर्ष के अनुरूप होना चाहिए
  • जांच अंक सही तरीके से गणना की जानी चाहिए
  • नामों के विशेष मामलों को संभालें (जैसे, एक-लिफ़्ट उपनाम, Ñ वाले नाम)

उपयोग के मामले

  1. सॉफ़्टवेयर परीक्षण: डेवलपर्स इस उपकरण का उपयोग उपयोगकर्ता पंजीकरण प्रणालियों, डेटाबेस संचालन, या किसी भी सॉफ़्टवेयर के लिए मान्य CURP उत्पन्न करने के लिए कर सकते हैं, जिसे CURP इनपुट की आवश्यकता होती है।

  2. डेटा गोपनीयता: सॉफ़्टवेयर का प्रदर्शन करते समय या डेटा प्रस्तुत करते समय, यादृच्छिक रूप से उत्पन्न CURP का उपयोग करना व्यक्तियों की गोपनीयता की रक्षा करने में मदद करता है।

  3. प्रदर्शन परीक्षण: सिस्टम प्रदर्शन को लोड के तहत परीक्षण करने के लिए अद्वितीय CURP के बड़े सेट उत्पन्न करें।

  4. प्रशिक्षण और शिक्षा: मेक्सिकन पहचान प्रणाली के बारे में शैक्षिक सामग्रियों में वास्तविक व्यक्तिगत डेटा का उपयोग किए बिना उत्पन्न CURP का उपयोग करें।

मेक्सिको में CURP का इतिहास

CURP प्रणाली को 1996 में मेक्सिकन सरकार द्वारा व्यक्तिगत पहचान को आधुनिक और मानकीकरण करने के प्रयास के भाग के रूप में पेश किया गया था। इसने विभिन्न अन्य पहचान प्रणालियों को प्रतिस्थापित किया और मेक्सिकन नौकरशाही में एक महत्वपूर्ण तत्व बन गया, जिसका उपयोग स्कूल नामांकन से लेकर कर दाखिल करने तक किया जाता है।

वर्षों के दौरान, CURP प्रणाली में कई संशोधन हुए हैं:

  • 2011 में, विभेदन अंक को 2000 से पहले और बाद में जन्मे लोगों के बीच भेद करने के लिए पेश किया गया था।
  • 2012 में, जांच अंक की गणना के लिए एल्गोरिदम को अद्वितीयता में सुधार करने के लिए संशोधित किया गया था।

उदाहरण

यहां विभिन्न प्रोग्रामिंग भाषाओं में यादृच्छिक CURP उत्पन्न करने के लिए कोड उदाहरण दिए गए हैं:

import random
import string
from datetime import datetime, timedelta

def generate_curp():
    # नाम घटकों का उत्पन्न करना
    paternal = random.choice(string.ascii_uppercase) + random.choice('AEIOU')
    maternal = random.choice(string.ascii_uppercase)
    given = random.choice(string.ascii_uppercase)

    # जन्म तिथि उत्पन्न करना
    start_date = datetime(1940, 1, 1)
    end_date = datetime.now()
    random_date = start_date + timedelta(days=random.randint(0, (end_date - start_date).days))
    date_str = random_date.strftime("%y%m%d")

    # लिंग उत्पन्न करना
    gender = random.choice(['H', 'M'])

    # राज्य कोड उत्पन्न करना
    states = ['AS', 'BC', 'BS', 'CC', 'CL', 'CM', 'CS', 'CH', 'DF', 'DG', 'GT', 'GR', 'HG', 'JC', 'MC', 'MN', 'MS', 'NT', 'NL', 'OC', 'PL', 'QT', 'QR', 'SP', 'SL', 'SR', 'TC', 'TS', 'TL', 'VZ', 'YN', 'ZS']
    state = random.choice(states)

    # व्यंजन उत्पन्न करना
    consonants = ''.join(random.choices(string.ascii_uppercase.translate(str.maketrans('', '', 'AEIOU')), k=3))

    # विभेदन अंक उत्पन्न करना
    diff_digit = random.choice(string.digits) if int(date_str[:2]) < 20 else random.choice(string.ascii_uppercase)

    # जांच अंक उत्पन्न करना (इस उदाहरण के लिए सरलित)
    check_digit = random.choice(string.digits)

    return f"{paternal}{maternal}{given}{date_str}{gender}{state}{consonants}{diff_digit}{check_digit}"

## यादृच्छिक CURP उत्पन्न करें और प्रिंट करें
print(generate_curp())
function generateCURP() {
    const vowels = 'AEIOU';
    const consonants = 'BCDFGHJKLMNPQRSTVWXYZ';
    const states = ['AS', 'BC', 'BS', 'CC', 'CL', 'CM', 'CS', 'CH', 'DF', 'DG', 'GT', 'GR', 'HG', 'JC', 'MC', 'MN', 'MS', 'NT', 'NL', 'OC', 'PL', 'QT', 'QR', 'SP', 'SL', 'SR', 'TC', 'TS', 'TL', 'VZ', 'YN', 'ZS'];

    const randomLetter = () => String.fromCharCode(65 + Math.floor(Math.random() * 26));
    const randomVowel = () => vowels[Math.floor(Math.random() * vowels.length)];
    const randomConsonant = () => consonants[Math.floor(Math.random() * consonants.length)];

    const paternal = randomLetter() + randomVowel();
    const maternal = randomLetter();
    const given = randomLetter();

    const now = new Date();
    const start = new Date(1940, 0, 1);
    const randomDate = new Date(start.getTime() + Math.random() * (now.getTime() - start.getTime()));
    const dateStr = randomDate.toISOString().slice(2, 10).replace(/-/g, '');

    const gender = Math.random() < 0.5 ? 'H' : 'M';
    const state = states[Math.floor(Math.random() * states.length)];

    const internalConsonants = randomConsonant() + randomConsonant() + randomConsonant();

    const diffDigit = parseInt(dateStr.slice(0, 2)) < 20 ? 
        Math.floor(Math.random() * 10).toString() :
        String.fromCharCode(65 + Math.floor(Math.random() * 26));

    const checkDigit = Math.floor(Math.random() * 10).toString();

    return `${paternal}${maternal}${given}${dateStr}${gender}${state}${internalConsonants}${diffDigit}${checkDigit}`;
}

// यादृच्छिक CURP उत्पन्न करें और लॉग करें
console.log(generateCURP());

अन्य देशों में विकल्प

हालांकि CURP मेक्सिको के लिए अद्वितीय है, अन्य देशों में समान पहचान प्रणालियाँ हैं:

  1. संयुक्त राज्य अमेरिका: सामाजिक सुरक्षा संख्या (SSN)
  2. कनाडा: सामाजिक बीमा संख्या (SIN)
  3. भारत: आधार संख्या
  4. ब्राज़ील: Cadastro de Pessoas Físicas (CPF)

प्रत्येक प्रणाली की अपनी संरचना और नियम होते हैं, लेकिन वे अपने-अपने देशों में समान उद्देश्यों की सेवा करती हैं।

संदर्भ

  1. SEGOB (Secretaría de Gobernación). "CURP - Trámites." Gobierno de México, https://www.gob.mx/curp/. Accessed 4 Aug. 2024.
  2. RENAPO (Registro Nacional de Población e Identidad). "Instructivo Normativo para la Asignación de la Clave Única de Registro de Población." Gobierno de México, https://www.gob.mx/cms/uploads/attachment/file/79053/InstructivoNormativoCURP.pdf. Accessed 4 Aug. 2024.
Feedback