CURP Генератор - Тестирање мексичких ID кодова за развој
Генеришите важеће тест CURP кодове за развој мексичких апликација. Бесплатан алат који ствара случајне 18-карактерске идентификационе кодове у складу са званичним RENAPO форматом. Савршен за тестирање, попуњавање база података и API валидацију.
Генеришите насумични, синтаксне исправан узорак CURP са исправном контролном цифром.
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-а
-
знак открива грешке при куцању и копирању. Израчунава се на основу првих 17 знакова на следећи начин:
-
За сваки од првих 17 знакова пронађите његово место у азбуци
0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZ. Његова позиција у овом низу, почев од 0, представља његову вредност. Тако0има вредност 0,Aима вредност 10,Rима вредност 28, аZима вредност 36. -
Помножите вредност сваког знака његовом тежином. Тежина за први знак је 18 и смањује се за један за сваки наредни знак, све до 2 за 17. знак.
-
Саберите 17 производа да бисте добили збир S.
-
Контролна цифра је
(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-а са другим националним системима идентификације
| Земља | Систем | Формат |
|---|---|---|
| Мексико | CURP | 18 знакова, слова и цифре |
| Сједињене Америчке Државе | Број социјалног осигурања | 9 цифара |
| Канада | Број социјалног осигурања | 9 цифара |
| Бразил | CPF | 11 цифара |
| Индија | Aadhaar | 12 цифара |
| Шпанија | DNI/NIE | 8 цифара и контролно слово |
За разлику од чисто редног броја, 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. Погледајте претходни пример са поступком израчунавања.
Референце
- SEGOB (Secretaría de Gobernación), званични портал CURP-а.
- RENAPO (Registro Nacional de Población e Identidad), Нормативно упутство за доделу CURP-а.