Прескочи на садржај

CURP Генератор - Тестирање мексичких ID кодова за развој

Генеришите важеће тест CURP кодове за развој мексичких апликација. Бесплатан алат који ствара случајне 18-карактерске идентификационе кодове у складу са званичним RENAPO форматом. Савршен за тестирање, попуњавање база података и API валидацију.

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

Kalkulator učitavanja...
📚

Dokumentacija

Шта је генератор CURP-а?

Генератор CURP-а прави насумични пример CURP-а, кода од 18 знакова који Мексико користи за идентификацију становника и држављана. Резултат има исправну структуру и исправно израчунату контролну цифру, али није повезан са стварном особом. Програмери користе овакве алате за тестирање софтвера без откривања стварних личних података било кога.

Шта је CURP?

КУРП је скраћеница за Јединствени кључ регистра становништва, односно јединствени код регистра становништва. Издаје га РЕНАПО (Национални регистар становништва и идентитета), национални регистар становништва Мексика. Готово сваки становник Мексика има такав код. Појављује се на обрасцима за упис у школу, у пореским евиденцијама, медицинској документацији и регистрацији бирача. Код се састоји од делова имена особе, датума рођења, пола и савезне државе рођења, као и два додатна знака који помажу да се разликују особе које би иначе имале исти код.

Структура и формат 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. Особа по имену Ines Bueno Estrada иначе би имала почетак BUEI, па код уместо тога почиње са BXEI. Овај генератор блокира истих 82 речи и примењује исту замену.

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

  1. знак открива грешке при куцању и копирању. Израчунава се на основу првих 17 знакова на следећи начин:

  2. За сваки од првих 17 знакова пронађите његово место у азбуци 0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZ. Његова позиција у овом низу, почев од 0, представља његову вредност. Тако 0 има вредност 0, A има вредност 10, R има вредност 28, а Z има вредност 36.

  3. Помножите вредност сваког знака његовом тежином. Тежина за први знак је 18 и смањује се за један за сваки наредни знак, све до 2 за 17. знак.

  4. Саберите 17 производа да бисте добили збир S.

  5. Контролна цифра је (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 1996. године како би заменио разуђен систем идентификације који су различите државне агенције засебно користиле, што је отежавало повезивање записа о истој особи у различитим базама података. Од тада је CURP постао неопходан за многе послове са државним органима, укључујући упис у школу, подношење пореске пријаве и подношење захтева за пасош. За особе рођене од 2000. године па надаље, RENAPO попуњава позицију 17 словом уместо цифром.

Поређење CURP-а са другим националним системима идентификације

ЗемљаСистемФормат
МексикоCURP18 знакова, слова и цифре
Сједињене Америчке ДржавеБрој социјалног осигурања9 цифара
КанадаБрој социјалног осигурања9 цифара
БразилCPF11 цифара
ИндијаAadhaar12 цифара
ШпанијаDNI/NIE8 цифара и контролно слово

За разлику од чисто редног броја, CURP садржи читљиве податке: датум рођења, пол и савезну државу. Зато је могуће проверити да ли је кодирани датум стварни календарски датум, што је једна од провера које овај алат обавља при генерисању примерка кода.

Најчешће постављана питања

За шта се користи генератор CURP-а?

Он прави насумични код у истом формату као стварни CURP, за тестирање софтвера, попуњавање базе података и проверу исправности логике валидације.

Да ли су генерисани КУРП-ови повезани са стварним особама?

Не. Сваки знак се бира насумично или израчунава на основу других насумичних вредности. Резултат није повезан ни са једном стварном особом, живом или преминулом.

Може ли се генерисани CURP користити на званичном обрасцу?

Не. Само RENAPO може издати важећи CURP стварној особи. Коришћење генерисаног кода на државном обрасцу, пореској пријави или било ком званичном документу било би превара.

Зашто се неки КУРП-ови завршавају словом, а други цифром на позицији 17?

Позиција 17 разликује особе које би иначе имале идентичне КУРП-ове. РЕНАПО користи цифру за особе рођене пре 2000. године, а слово за особе рођене 2000. године или касније.

Зашто CURP понекад има X као други знак?

Зато што би прва четири знака иначе образовала реч која се у шпанском сматра непристојном. RENAPO у том случају други знак замењује са X, па BUEI постаје BXEI.

Да ли овај алат чува КУРП-ове које генерише?

Не. Код се генерише у прегледачу помоћу 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-а.