Whiz Tools

CURP જનરેટર

પરિચય

CURP (ક્લેવ યુનિક ડે રેજિસ્ટ્રો ડે પોપલેસન) એ મેકસિકોમાં ઓળખાણ માટે ઉપયોગમાં લેવાતો અનન્ય અક્ષર-સંખ્યાનો કોડ છે. આ સાધન પરીક્ષણ પરિસ્થિતિઓ માટે માન્ય, રેન્ડમ 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 પહેલા અને 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. બ્રાઝિલ: કેડાસ્ટ્રો ડે પેસોઅસ ફિઝિકાસ (CPF)

પ્રત્યેક પ્રણાળી પોતાની રચના અને નિયમો ધરાવે છે, પરંતુ તે પોતાની પોતાની દેશોમાં સમાન હેતુઓ માટે સેવા આપે છે.

સંદર્ભો

  1. SEGOB (સેક્રેટારિયા ડે ગોબર્નેશન). "CURP - ટ્રામિટ્સ." ગોવિએર્નો ડે મેકસિકો, https://www.gob.mx/curp/. 4 ઓગસ્ટ 2024ને પ્રવેશ કર્યો.
  2. RENAPO (રજિસ્ટ્રો નેશનલ ડે પોપલેસન એન્ડ આઈડેન્ટિટી). "ઇન્સ્ટ્રુક્ટિવો નોર્મેટિવો પારા લા અસિગ્નેશન ડે લા ક્લેવ યુનિક ડે રેજિસ્ટ્રો ડે પોપલેસન." ગોવિએર્નો ડે મેકસિકો, https://www.gob.mx/cms/uploads/attachment/file/79053/InstructivoNormativoCURP.pdf. 4 ઓગસ્ટ 2024ને પ્રવેશ કર્યો.
Feedback