Прескочи към съдържанието

Генератор на CURP - Тестване на мексикански идентификационни кодове за разработка

Генерирайте валидни тестови CURP кодове за разработка на мексикански приложения. Безплатен инструмент, който създава случайни 18-цифрени идентификационни кодове, следвайки официалния формат на RENAPO. Перфектен за тестване, попълване на бази данни и API валидация.

Генериране на произволна, синтактически валидна примерна CURP с правилната контролна цифра.

Калкулатор за зареждане...
📚

Документация

Какво представлява генераторът на CURP?

Генераторът на CURP създава случайна примерна CURP — код от 18 знака, който Мексико използва за идентифициране на жителите и гражданите. Резултатът има правилната структура и правилно изчислена контролна цифра, но не е свързан с реален човек. Разработчиците използват такива инструменти, за да тестват софтуер, без да излагат личните данни на когото и да било.

Какво представлява CURP?

CURP е съкращение от Clave Única de Registro de Población, или уникален код от регистъра на населението. Издава се от RENAPO (Registro Nacional de Población e Identidad), националния регистър на населението на Мексико. Почти всеки жител на Мексико има такъв код. Той се среща във формуляри за записване в училище, данъчни регистри, медицински документи и регистрация на избиратели. Кодът се състои от части от името, датата на раждане, пола и щата на раждане на даден човек, както и от още два знака, които помагат да се разграничат хора, които иначе биха имали един и същ код.

Структура и формат на CURP

CURP винаги съдържа 18 знака — само главни букви или цифри. Всяка позиция има точно определено значение.

ПозицияЗначение
1Първата буква от фамилията по баща
2Първата вътрешна гласна от фамилията по баща (първата гласна след първата буква)
3Първата буква от фамилията по майка
4Първата буква от собственото име
5–6Последните две цифри от годината на раждане
7–8Месец на раждане (01–12)
9–10Ден на раждане (01–31)
11Пол: H за Hombre (мъж), M за Mujer (жена)
12–13Двубуквен код на щата на раждане, например DF за Мексико Сити или JC за Халиско
14Първата вътрешна съгласна от фамилията по баща
15Първата вътрешна съгласна от фамилията по майка
16Първата вътрешна съгласна от собственото име
17Цифра за хората, родени преди 2000, или буква за хората, родени през 2000 г. или по-късно
18Контролна цифра, изчислена от първите 17 знака

В тази схема Мексико има 32 кода на щатите — по един за всеки от 31 щата и един за Мексико Сити.

Когато първите четири знака случайно образуват дума, смятана за нецензурна на испански, RENAPO заменя втория знак с X. Човек на име Инес Буено Естрада иначе би започнал с BUEI, затова кодът започва с BXEI. Този генератор блокира същите 82 думи и прилага същата замяна.

Как се изчислява контролната цифра на CURP

Знакът на позиция 18 открива грешки при въвеждане и копиране. Той се изчислява от първите 17 знака по следния метод:

  1. Потърсете всеки от първите 17 знака в азбуката 0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZ. Позицията му в този списък, започвайки от 0, е неговата стойност. Така 0 има стойност 0, A има стойност 10, R има стойност 28, а Z има стойност 36.
  2. Умножете стойността на всеки знак по тегло. Теглото започва от 18 за първия знак и намалява с единица за всеки следващ знак, като достига 2 за знак номер 17.
  3. Съберете произведенията на 17 знака, за да получите сумата S.
  4. Контролната цифра е (10 − (S mod 10)) mod 10.

Пример с решение

Нека разгледаме измислен човек, Хуан Перес Рамирес, роден на 15 март 1985 г. в Халиско.

  • Позиция 1: P, първата буква от „Pérez“
  • Позиция 2: E, първата вътрешна гласна от „Pérez“ (буквите след първата са E, R, E, Z, така че първата гласна е E)
  • Позиция 3: R, първата буква от „Ramírez“
  • Позиция 4: J, първата буква от „Juan“
  • Позиции 5–10: 850315 за 1985-03-15
  • Позиция 11: H, мъж
  • Позиции 12–13: JC, Халиско
  • Позиция 14: R, първата вътрешна съгласна от „Pérez“
  • Позиция 15: M, първата вътрешна съгласна от „Ramírez“
  • Позиция 16: N, първата вътрешна съгласна от „Juan“
  • Позиция 17: 0, цифра, тъй като годината на раждане е преди 2000 г. (в реалните записи се използва фиксирано правило за избор на цифрата; в този пример е използвана 0)

Първите 17 знака са PERJ850315HJCRMN0. Прилагането на горната формула към този низ дава сума 2342. Тъй като 2342 mod 10 = 2, контролната цифра е (10 − 2) mod 10 = 8. Пълната CURP е PERJ850315HJCRMN08.

Как работи този генератор

Инструментът създава примерна CURP в няколко стъпки. Той избира случайни букви за частта с името, след което избира година на раждане от 1940 до годината преди текущата, така че датата винаги да е в миналото. Денят се избира в рамките на действителния брой дни в избрания месец, така че 29 февруари се появява само във високосни години. Полът и кодът на щата се избират случайно. След това инструментът добавя трите вътрешни съгласни, прилага замяната на нецензурна дума, ако е необходимо, избира буква за позиция 17, когато годината на раждане е 2000 г. или по-късна, и цифра, когато е по-ранна, а после изчислява контролната цифра по горната формула.

Преди да покаже код, инструментът го проверява отново: формата трябва да съответства на образец от 18 знака, месецът трябва да е 01-12, кодираната дата трябва да съществува в календара и да е в миналото, а контролната цифра трябва да съвпада. Векът за тази проверка на датата се определя от позиция 17 по същото правило, което използва RENAPO: цифра означава 1900-те, а буква — 2000-те. Код, който не премине някоя от тези проверки, не се показва.

Обичайни употреби на генерирани CURP

Софтуерните екипи използват генерирани CURP, за да тестват регистрационни формуляри, полета в бази данни и логиката за валидиране, преди да пуснат продукт за мексикански потребители. Тъй като кодовете са случайни, те могат да се създават групово за тестване на натоварването или за първоначално попълване на развойна база данни, без да се използва или съхранява реална идентифицираща информация за когото и да било.

История на системата CURP

Мексико въвежда CURP през 1996 г., за да замени разнородните системи за идентификация, които различни държавни агенции използват поотделно и които затрудняват съпоставянето на записите за един и същ човек в различни бази данни. Оттогава CURP се превръща в изискване за много взаимодействия с държавните институции, включително записване в училище, подаване на данъчна декларация и кандидатстване за паспорт. За хората, родени от 2000 г. нататък, RENAPO попълва позиция 17 с буква вместо с цифра.

Сравнение на CURP с други национални идентификационни системи

ДържаваСистемаФормат
МексикоCURP18 знака, букви и цифри
Съединени щатиНомер на социалното осигуряване9 цифри
КанадаНомер на социалното осигуряване9 цифри
БразилияCPF11 цифри
ИндияAadhaar12 цифри
ИспанияDNI/NIE8 цифри плюс контролна буква

За разлика от обикновения пореден номер, CURP съдържа четима информация: дата на раждане, пол и щат. Това позволява да се провери дали кодираната дата е реална календарна дата — една от проверките, които този инструмент извършва при създаването на примерен код.

Често задавани въпроси

За какво се използва генераторът на CURP?

Той създава случаен код в същия формат като реална CURP за тестване на софтуер, първоначално попълване на бази данни и проверка дали логиката за валидиране работи правилно.

Свързани ли са генерираните CURP с реални хора?

Не. Всеки знак се избира случайно или се изчислява от други случайни стойности. Резултатът не е свързан с реален човек, независимо дали е жив или починал.

Може ли генерирана CURP да се използва в официален формуляр?

Не. Само RENAPO може да издаде валидна CURP на реален човек. Използването на генериран код в държавен формуляр, данъчна декларация или друг официален документ би било измама.

Защо някои CURP завършват с буква, а други — с цифра на позиция 17?

Позиция 17 разграничава хора, които иначе биха имали еднакви CURP. RENAPO използва цифра за хората, родени преди 2000 г., и буква за хората, родени през 2000 г. или по-късно.

Защо CURP понякога има X като втори знак?

Защото първите четири знака иначе биха образували дума, смятана за нецензурна на испански. В такъв случай RENAPO заменя втория знак с X, така че BUEI става BXEI.

Съхранява ли този инструмент генерираните CURP?

Не. Кодът се генерира в браузъра с помощта на JavaScript. Нищо не се изпраща към сървър и нищо не се запазва.

Как се изчислява контролната цифра?

Всеки от първите 17 знака се преобразува в число според позицията му във фиксирана азбука от 37 знака, умножава се по тегло от 18 до 2 и резултатите се събират. Контролната цифра е (10 − (sum mod 10)) mod 10. Вижте примера с изчисление по-горе.

Източници

  1. SEGOB (Secretaría de Gobernación), официален портал на CURP.
  2. RENAPO (Registro Nacional de Población e Identidad), Нормативни указания за присвояване на CURP.