Whiz Tools

CURP جنریٹر

تعارف

CURP (Clave Única de Registro de Población) ایک منفرد الفابیٹک کوڈ ہے جو میکسیکو میں شناخت کے مقاصد کے لیے استعمال ہوتا ہے۔ یہ ٹول ٹیسٹنگ کے منظرناموں کے لیے درست، بے ترتیب CURP تیار کرتا ہے، جو سرکاری شکل اور توثیق کے قواعد کے مطابق ہے۔ یہ نوٹ کرنا ضروری ہے کہ یہ تیار کردہ CURP حقیقی افراد سے منسلک نہیں ہیں اور صرف ٹیسٹنگ کے مقاصد کے لیے استعمال کیے جانے چاہئیں۔

CURP کی ساخت

ایک CURP 18 حروف پر مشتمل ہوتا ہے جس کی شکل یہ ہے:

  1. والد کے آخری نام کا پہلا حرف
  2. والد کے آخری نام کا پہلا حرفی vowel (پہلے حرف کو چھوڑ کر)
  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