Generátor CURP - Testování mexických identifikačních kódů pro vývoj
Generujte platné testovací CURP pro vývoj mexických aplikací. Bezplatný nástroj vytváří náhodné 18-místné identifikační kódy podle oficiálního formátu RENAPO. Ideální pro testování, osazování databází a ověřování API.
Vygenerujte náhodný, syntakticky platný vzorek CURP se správnou kontrolní číslicí.
Dokumentace
Co je generátor CURP?
Generátor CURP vytváří náhodný vzorový kód CURP o 18 znacích, který Mexiko používá k identifikaci obyvatel a občanů. Výstup má správnou strukturu a správně vypočtenou kontrolní číslici, ale není spojen se skutečnou osobou. Vývojáři podobné nástroje používají k testování softwaru, aniž by odhalovali skutečné osobní údaje.
Co je CURP?
CURP je zkratka názvu Clave Única de Registro de Población neboli Jedinečný kód registru obyvatel. Vydává jej RENAPO (Registro Nacional de Población e Identidad), mexický národní registr obyvatel. Má jej téměř každý obyvatel Mexika. Objevuje se na formulářích pro zápis do školy, v daňových záznamech, lékařské dokumentaci a registraci voličů. Kód se skládá z částí jména osoby, data narození, pohlaví a státu narození a ze dvou dalších znaků, které pomáhají rozlišit osoby, jež by jinak měly stejný kód.
Struktura a formát CURP
CURP má vždy 18 znaků, tvořených velkými písmeny nebo číslicemi. Každá pozice má pevně daný význam.
| Pozice | Význam |
|---|---|
| 1 | První písmeno příjmení po otci |
| 2 | První vnitřní samohláska příjmení po otci (první samohláska po prvním písmenu) |
| 3 | První písmeno příjmení po matce |
| 4 | První písmeno křestního jména |
| 5–6 | Poslední dvě číslice roku narození |
| 7–8 | Měsíc narození (01–12) |
| 9–10 | Den narození (01–31) |
| 11 | Pohlaví: H pro Hombre (muž), M pro Mujer (žena) |
| 12–13 | Dvoupísmenný kód státu narození, například DF pro Ciudad de México nebo JC pro Jalisco |
| 14 | První vnitřní souhláska příjmení po otci |
| 15 | První vnitřní souhláska příjmení po matce |
| 16 | První vnitřní souhláska křestního jména |
| 17 | Číslice pro osoby narozené před rokem 2000 nebo písmeno pro osoby narozené v roce 2000 či později |
| 18 | Kontrolní číslice vypočtená z prvních 17 znaků |
Mexiko má v tomto schématu 32 kódů států, po jednom pro každý z 31 států a pro Ciudad de México.
Pokud první čtyři znaky náhodou tvoří slovo považované ve španělštině za neslušné, RENAPO nahradí druhý znak znakem X. Osoba jménem Ines Bueno Estrada by jinak začínala řetězcem BUEI, takže její kód místo toho začíná BXEI. Tento generátor blokuje stejných 82 slov a používá stejnou náhradu.
Jak vypočítat kontrolní číslici CURP
-
znak zachycuje chyby při psaní a kopírování. Vypočítává se z prvních 17 znaků tímto postupem:
-
Každý z prvních 17 znaků vyhledejte v abecedě
0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZ. Jeho pozice v tomto seznamu, počínaje 0, je jeho hodnota. Znak0má tedy hodnotu 0, znakAhodnotu 10, znakRhodnotu 28 a znakZhodnotu 36. -
Vynásobte hodnotu každého znaku váhou. Váha začíná hodnotou 18 u prvního znaku a u každého dalšího znaku se snižuje o jedničku; u 17. znaku dosáhne hodnoty 2.
-
Sečtěte 17 součinů a získáte součet S.
-
Kontrolní číslice je
(10 − (S mod 10)) mod 10.
Příklad výpočtu
Uvažujme fiktivní osobu Juana Péreze Ramíreze, narozeného jako muž 15. března 1985 ve státě Jalisco.
- Pozice 1:
P, první písmeno jména „Pérez“ - Pozice 2:
E, první vnitřní samohláska jména „Pérez“ (písmena po prvním jsou E, R, E, Z, takže první samohláskou je E) - Pozice 3:
R, první písmeno jména „Ramírez“ - Pozice 4:
J, první písmeno jména „Juan“ - Pozice 5–10:
850315pro datum 1985-03-15 - Pozice 11:
H, muž - Pozice 12–13:
JC, Jalisco - Pozice 14:
R, první vnitřní souhláska jména „Pérez“ - Pozice 15:
M, první vnitřní souhláska jména „Ramírez“ - Pozice 16:
N, první vnitřní souhláska jména „Juan“ - Pozice 17:
0, číslice, protože rok narození je před rokem 2000 (skutečné záznamy používají pevné pravidlo pro výběr číslice; v tomto příkladu je použita 0)
Prvních 17 znaků je PERJ850315HJCRMN0. Po dosazení tohoto řetězce do výše uvedeného vzorce získáme součet 2342. Protože 2342 mod 10 = 2, kontrolní číslice je (10 − 2) mod 10 = 8. Celý kód CURP je PERJ850315HJCRMN08.
Jak generátor funguje
Nástroj vytvoří vzorový kód CURP v několika krocích. Pro část se jménem vybere náhodná písmena a poté rok narození od 1940 do roku předcházejícího aktuálnímu roku, takže datum vždy leží v minulosti. Den se vybere v rámci skutečného počtu dnů daného měsíce, takže únor s 29 dny se objeví pouze v přestupných letech. Pohlaví a kód státu se vyberou náhodně. Nástroj poté doplní tři vnitřní souhlásky, případně použije náhradu neslušného slova, pro pozici 17 vybere písmeno, pokud je rok narození 2000 nebo pozdější, a číslici, pokud je dřívější, a podle výše uvedeného vzorce vypočítá kontrolní číslici.
Před zobrazením kódu jej nástroj znovu zkontroluje: formát musí odpovídat vzoru o 18 znacích, měsíc musí být v rozmezí 01-12, zakódované datum musí existovat v kalendáři a ležet v minulosti a kontrolní číslice musí odpovídat. Století pro kontrolu data se určuje z pozice 17 podle stejného pravidla, jaké používá RENAPO: číslice znamená 1900. léta, písmeno znamená 2000. léta. Kód, který neprojde kteroukoli z těchto kontrol, se nezobrazí.
Běžné použití generovaných kódů CURP
Softwarové týmy používají generované kódy CURP k testování registračních formulářů, databázových polí a validační logiky před uvedením produktu pro mexické uživatele. Protože jsou kódy náhodné, lze jich pro zátěžové testování nebo naplnění vývojové databáze vytvořit velké množství, aniž by se používaly nebo ukládaly skutečné identifikační údaje.
Historie systému CURP
Mexiko zavedlo CURP v roce 1996, aby nahradilo nesourodý soubor identifikačních systémů, které různé vládní úřady používaly samostatně, což ztěžovalo párování záznamů stejné osoby napříč databázemi. Od té doby se CURP stal podmínkou mnoha jednání s úřady, včetně zápisu do školy, podání daňového přiznání a žádosti o cestovní pas. U osob narozených od roku 2000 včetně vyplňuje RENAPO pozici 17 písmenem místo číslice.
Jak se CURP srovnává s jinými národními identifikačními systémy
| Země | Systém | Formát |
|---|---|---|
| Mexiko | CURP | 18 znaků, písmena a číslice |
| Spojené státy | Číslo sociálního zabezpečení | 9 číslic |
| Kanada | Číslo sociálního pojištění | 9 číslic |
| Brazílie | CPF | 11 číslic |
| Indie | Aadhaar | 12 číslic |
| Španělsko | DNI/NIE | 8 číslic plus kontrolní písmeno |
Na rozdíl od čistě sekvenčního čísla obsahuje CURP čitelné informace: datum narození, pohlaví a stát. Díky tomu lze ověřit, zda zakódované datum představuje skutečné kalendářní datum; jde o jednu z kontrol, které tento nástroj při vytváření vzorového kódu provádí.
Často kladené otázky
K čemu se generátor CURP používá?
Vytváří náhodný kód ve stejném formátu jako skutečný CURP, který lze použít k testování softwaru, naplnění databáze a ověření správného fungování validační logiky.
Jsou generované kódy CURP spojeny se skutečnými osobami?
Ne. Každý znak se vybere náhodně nebo vypočítá z jiných náhodných hodnot. Výsledek není spojen s žádnou skutečnou osobou, žijící ani zemřelou.
Lze generovaný kód CURP použít na úředním formuláři?
Ne. Platný CURP pro skutečnou osobu může vydat pouze RENAPO. Použití generovaného kódu na vládním formuláři, v daňovém přiznání nebo na jiném úředním dokumentu by bylo podvodné.
Proč některé kódy CURP končí na pozici 17 písmenem a jiné číslicí?
Pozice 17 rozlišuje osoby, které by jinak měly shodný CURP. RENAPO používá číslici pro osoby narozené před rokem 2000 a písmeno pro osoby narozené v roce 2000 či později.
Proč má někdy CURP na druhé pozici písmeno X?
Protože první čtyři znaky by jinak tvořily slovo považované ve španělštině za neslušné. RENAPO v takovém případě nahradí druhý znak znakem X, takže BUEI se změní na BXEI.
Ukládá tento nástroj generované kódy CURP?
Ne. Kód se generuje v prohlížeči pomocí JavaScriptu. Nic se neodesílá na server ani neukládá.
Jak se vypočítává kontrolní číslice?
Každý z prvních 17 znaků se převede na číslo podle jeho pozice v pevně dané abecedě o 37 znacích, vynásobí se váhou od 18 do 2 a výsledky se sečtou. Kontrolní číslice je (10 − (sum mod 10)) mod 10. Viz výše uvedený řešený příklad.
Reference
- SEGOB (Secretaría de Gobernación), oficiální portál CURP.
- RENAPO (Registro Nacional de Población e Identidad), Instructivo Normativo para la Asignación de la CURP.