CURP Generator - Test Mexicaanse ID-codes voor ontwikkeling
Genereer geldige test-CURPs voor Mexicaanse toepassingsontwikkeling. Gratis tool maakt willekeurige 18-tekens identificatiecodes aan volgens officieel RENAPO-formaat. Perfect voor testen, database seeding en API-validatie.
Genereer een willekeurig, syntactisch geldig voorbeeld CURP met een correcte controlecijfer.
Documentatie
Wat is een CURP-generator?
Een CURP-generator maakt een willekeurige voorbeeld-CURP, de code van 18 tekens die Mexico gebruikt om inwoners en burgers te identificeren. De uitvoer heeft de juiste structuur en een correct berekend controlecijfer, maar is niet aan een echte persoon gekoppeld. Ontwikkelaars gebruiken dergelijke hulpmiddelen om software te testen zonder iemands echte persoonsgegevens bloot te leggen.
Wat is een CURP?
CURP staat voor Clave Ănica de Registro de PoblaciĂłn, oftewel unieke code van het bevolkingsregister. De code wordt uitgegeven door RENAPO (Registro Nacional de PoblaciĂłn e Identidad), het nationale bevolkingsregister van Mexico. Bijna iedere inwoner van Mexico heeft er een. De code staat op inschrijfformulieren voor scholen, belastinggegevens, medische documenten en kiezersregistraties. De code is opgebouwd uit delen van iemands naam, geboortedatum, geslacht en geboortestaat, plus twee extra tekens die helpen onderscheid te maken tussen mensen die anders dezelfde code zouden hebben.
Structuur en indeling van de CURP
Een CURP heeft altijd 18 tekens, allemaal hoofdletters of cijfers. Elke positie heeft een vaste betekenis.
| Positie | Betekenis |
|---|---|
| 1 | Eerste letter van de achternaam van vaderskant |
| 2 | Eerste interne klinker van de achternaam van vaderskant (de eerste klinker na de eerste letter) |
| 3 | Eerste letter van de achternaam van moederskant |
| 4 | Eerste letter van de voornaam |
| 5â6 | Laatste twee cijfers van het geboortejaar |
| 7â8 | Geboortemaand (01â12) |
| 9â10 | Geboortedag (01â31) |
| 11 | Geslacht: H voor Hombre (man), M voor Mujer (vrouw) |
| 12â13 | Tweelettercode voor de geboortestaat, zoals DF voor Mexico-Stad of JC voor Jalisco |
| 14 | Eerste interne medeklinker van de achternaam van vaderskant |
| 15 | Eerste interne medeklinker van de achternaam van moederskant |
| 16 | Eerste interne medeklinker van de voornaam |
| 17 | Een cijfer voor mensen die vóór 2000 zijn geboren, of een letter voor mensen die in 2000 of later zijn geboren |
| 18 | Een controlecijfer dat wordt berekend uit de eerste 17 tekens |
Mexico heeft 32 staatscodes in dit systeem, één voor elk van de 31 staten plus Mexico-Stad.
Wanneer de eerste vier tekens toevallig een in het Spaans als grof beschouwd woord vormen, vervangt RENAPO het tweede teken door X. Iemand met de naam Ines Bueno Estrada zou anders beginnen met BUEI, dus begint de code in plaats daarvan met BXEI. Deze generator blokkeert dezelfde 82 woorden en past dezelfde vervanging toe.
Het CURP-controlecijfer berekenen
Het 18e teken vangt type- en kopieerfouten op. Het wordt met de volgende methode berekend uit de eerste 17 tekens:
- Zoek elk van de eerste 17 tekens op in het alfabet
0123456789ABCDEFGHIJKLMNĂOPQRSTUVWXYZ. De positie in deze lijst, beginnend bij 0, is de waarde. Zo heeft0de waarde 0,Ade waarde 10,Rde waarde 28 enZde waarde 36. - Vermenigvuldig de waarde van elk teken met een gewicht. Het gewicht begint bij 18 voor het eerste teken en neemt voor elk volgend teken met één af, tot 2 voor het 17e teken.
- Tel de 17 producten bij elkaar op voor de som S.
- Het controlecijfer is
(10 â (S mod 10)) mod 10.
Uitgewerkt voorbeeld
Neem een fictief persoon, Juan PĂ©rez RamĂrez, die als man is geboren op 15 maart 1985 in Jalisco.
- Positie 1:
P, de eerste letter van âPĂ©rezâ - Positie 2:
E, de eerste interne klinker van âPĂ©rezâ (de letters na de eerste zijn E, R, E, Z, dus de eerste klinker is E) - Positie 3:
R, de eerste letter van âRamĂrezâ - Positie 4:
J, de eerste letter van âJuanâ - Posities 5â10:
850315, voor 1985-03-15 - Positie 11:
H, man - Posities 12â13:
JC, Jalisco - Positie 14:
R, de eerste interne medeklinker van âPĂ©rezâ - Positie 15:
M, de eerste interne medeklinker van âRamĂrezâ - Positie 16:
N, de eerste interne medeklinker van âJuanâ - Positie 17:
0, een cijfer omdat het geboortejaar vóór 2000 ligt (in echte registraties bepaalt een vaste regel welk cijfer wordt gekozen; dit voorbeeld gebruikt 0)
De eerste 17 tekens zijn PERJ850315HJCRMN0. Als de bovenstaande formule op deze tekenreeks wordt toegepast, is de som 2342. Omdat 2342 mod 10 = 2, is het controlecijfer (10 â 2) mod 10 = 8. De volledige CURP is PERJ850315HJCRMN08.
Zo werkt deze generator
De tool bouwt in enkele stappen een voorbeeld-CURP. Eerst kiest hij willekeurige letters voor het naamgedeelte en vervolgens een geboortejaar van 1940 tot en met het jaar vóór het huidige jaar, zodat de datum altijd in het verleden ligt. De dag wordt gekozen binnen het werkelijke aantal dagen van de getrokken maand, zodat 29 februari alleen in schrikkeljaren voorkomt. Geslacht en staatscode worden willekeurig gekozen. Daarna voegt de tool de drie interne medeklinkers toe, past zo nodig de vervanging van een grof woord toe, kiest een letter voor positie 17 wanneer het geboortejaar 2000 of later is en een cijfer wanneer het eerder is, en berekent hij het controlecijfer met de bovenstaande formule.
Voordat een code wordt weergegeven, controleert de tool deze opnieuw: de vorm moet overeenkomen met het patroon van 18 tekens, de maand moet 01-12 zijn, de gecodeerde datum moet op de kalender bestaan en in het verleden liggen, en het controlecijfer moet kloppen. De eeuw voor die datumcontrole komt uit positie 17, volgens dezelfde regel die RENAPO gebruikt: een cijfer betekent de 1900s, een letter de 2000s. Een code die een van deze controles niet doorstaat, wordt niet weergegeven.
Veelgebruikte toepassingen van gegenereerde CURPâs
Softwareteams gebruiken gegenereerde CURPâs om registratieformulieren, databasevelden en validatielogica te testen voordat een product voor Mexicaanse gebruikers wordt uitgebracht. Omdat de codes willekeurig zijn, kunnen ze in grote aantallen worden gemaakt voor belastingtests of om een ontwikkelingsdatabase te vullen, zonder iemands echte identificatiegegevens te gebruiken of op te slaan.
Geschiedenis van het CURP-systeem
Mexico voerde de CURP in 1996 in ter vervanging van een lappendeken aan identificatiesystemen die verschillende overheidsinstanties afzonderlijk gebruikten. Daardoor was het moeilijk om gegevens over dezelfde persoon in verschillende databases aan elkaar te koppelen. Sindsdien is een CURP vereist voor veel contacten met de overheid, waaronder schoolinschrijving, belastingaangifte en het aanvragen van een paspoort. Voor mensen die vanaf 2000 zijn geboren, vult RENAPO positie 17 met een letter in plaats van een cijfer.
Hoe de CURP zich verhoudt tot andere nationale identificatiesystemen
| Land | Systeem | Formaat |
|---|---|---|
| Mexico | CURP | 18 tekens, letters en cijfers |
| Verenigde Staten | Social Security Number | 9 cijfers |
| Canada | Social Insurance Number | 9 cijfers |
| Brazilië | CPF | 11 cijfers |
| India | Aadhaar | 12 cijfers |
| Spanje | DNI/NIE | 8 cijfers plus een controleletter |
In tegenstelling tot een puur volgnummer bevat de CURP leesbare informatie: geboortedatum, geslacht en staat. Daardoor kan worden gecontroleerd of de gecodeerde datum een echte kalenderdatum is. Dat is een van de controles die deze tool uitvoert bij het genereren van een voorbeeldcode.
Veelgestelde vragen
Waarvoor wordt een CURP-generator gebruikt?
De generator maakt een willekeurige code in hetzelfde formaat als een echte CURP, voor softwaretests, het vullen van databases en het controleren of validatielogica correct werkt.
Zijn gegenereerde CURPâs aan echte personen gekoppeld?
Nee. Elk teken wordt willekeurig gekozen of berekend uit andere willekeurige waarden. Het resultaat is niet verbonden met een echte persoon, levend of overleden.
Kan een gegenereerde CURP op een officieel formulier worden gebruikt?
Nee. Alleen RENAPO kan een geldige CURP voor een echte persoon uitgeven. Het gebruik van een gegenereerde code op een overheidsformulier, belastingaangifte of officieel document zou fraude zijn.
Waarom eindigen sommige CURPâs op positie 17 met een letter en andere met een cijfer?
Positie 17 onderscheidt mensen die anders identieke CURPâs zouden hebben. RENAPO gebruikt een cijfer voor mensen die vóór 2000 zijn geboren en een letter voor mensen die in 2000 of later zijn geboren.
Waarom heeft een CURP soms een X als tweede teken?
Omdat de eerste vier tekens anders een in het Spaans als grof beschouwd woord zouden vormen. RENAPO vervangt in dat geval het tweede teken door X, zodat BUEI BXEI wordt.
Slaat deze tool de CURPâs op die hij genereert?
Nee. De code wordt in de browser met JavaScript gegenereerd. Er wordt niets naar een server verzonden of opgeslagen.
Hoe wordt het controlecijfer berekend?
Elk van de eerste 17 tekens wordt omgezet in een getal op basis van de positie in een vast alfabet van 37 tekens, vermenigvuldigd met een gewicht van 18 tot 2 en opgeteld. Het controlecijfer is (10 â (sum mod 10)) mod 10. Zie het uitgewerkte voorbeeld hierboven.
Referenties
- SEGOB (SecretarĂa de GobernaciĂłn), officieel CURP-portaal.
- RENAPO (Registro Nacional de PoblaciĂłn e Identidad), Instructivo Normativo para la AsignaciĂłn de la CURP.