CURP Generator - Test mexicanske ID-koder til udvikling
Generer gyldige test-CURPs til mexicansk applikationsudvikling. Gratis værktøj opretter tilfældige 18-tegns identifikationskoder efter officiel RENAPO-format. Perfekt til test, databaseudfyldning og API-validering.
Generer en tilfældig, syntaktisk gyldig eksempel-CURP med korrekt kontrolciffer.
Dokumentation
Hvad er en CURP-generator?
En CURP-generator opretter en tilfældig eksempel-CURP, den kode på 18 tegn, som Mexico bruger til at identificere indbyggere og borgere. Resultatet har den korrekte struktur og et korrekt beregnet kontrolciffer, men er ikke knyttet til en virkelig person. Udviklere bruger værktøjer som dette til at teste software uden at udsætte nogens virkelige personoplysninger.
Hvad er en CURP?
CURP står for Clave Única de Registro de Población, det vil sige den unikke kode til folkeregistrering. Den udstedes af RENAPO (Registro Nacional de Población e Identidad), Mexicos nationale folkeregister. Næsten alle indbyggere i Mexico har en. Den vises på indskrivningsblanketter til skoler, skatteoplysninger, lægepapirer og vælgerregistrering. Koden er opbygget af dele af en persons navn, fødselsdato, køn og den stat, hvor personen er født, samt to ekstra tegn, der hjælper med at skelne mellem personer, som ellers ville have samme kode.
CURP's struktur og format
En CURP har altid 18 tegn, alle store bogstaver eller cifre. Hver position har en fast betydning.
| Position | Betydning |
|---|---|
| 1 | Første bogstav i faderens efternavn |
| 2 | Første indre vokal i faderens efternavn (den første vokal efter det første bogstav) |
| 3 | Første bogstav i moderens efternavn |
| 4 | Første bogstav i fornavnet |
| 5–6 | De sidste to cifre i fødselsåret |
| 7–8 | Fødselsmåned (01–12) |
| 9–10 | Fødselsdag (01–31) |
| 11 | Køn: H for Hombre (mand), M for Mujer (kvinde) |
| 12–13 | Kode på to bogstaver for fødselsstaten, f.eks. DF for Mexico City eller JC for Jalisco |
| 14 | Første indre konsonant i det fædrene efternavn |
| 15 | Første indre konsonant i det mødrene efternavn |
| 16 | Første indre konsonant i fornavnet |
| 17 | Et ciffer for personer født før 2000 eller et bogstav for personer født i 2000 eller senere |
| 18 | Et kontrolciffer beregnet ud fra de første 17 tegn |
Mexico har 32 statskoder i denne ordning, én for hver af de 31 stater samt Mexico City.
Når de første fire tegn tilfældigvis danner et ord, der anses for uhøfligt på spansk, erstatter RENAPO det andet tegn med X. En person ved navn Ines Bueno Estrada ville ellers begynde med BUEI, så koden begynder i stedet med BXEI. Denne generator blokerer de samme 82 ord og anvender den samme erstatning.
Sådan beregnes CURP's kontrolciffer
Det 18. tegn opdager taste- og kopieringsfejl. Det beregnes ud fra de første 17 tegn på følgende måde:
- Slå hvert af de første 17 tegn op i alfabetet
0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZ. Tegnets position i denne liste, der begynder ved 0, er dets værdi. Derfor har0værdien 0,Aværdien 10,Rværdien 28 ogZværdien 36. - Gang hvert tegns værdi med en vægt. Vægten begynder på 18 for det første tegn og falder med én for hvert efterfølgende tegn, så den ender på 2 for det 17. tegn.
- Læg de 17 produkter sammen for at få en sum, S.
- Kontrolcifret er
(10 − (S mod 10)) mod 10.
Regneeksempel
Betragt en fiktiv person, Juan Pérez Ramírez, født som mand den 15. marts 1985 i Jalisco.
- Position 1:
P, første bogstav i "Pérez" - Position 2:
E, første indre vokal i "Pérez" (bogstaverne efter det første er E, R, E, Z, så den første vokal er E) - Position 3:
R, første bogstav i "Ramírez" - Position 4:
J, første bogstav i "Juan" - Positionerne 5–10:
850315for 1985-03-15 - Position 11:
H, mand - Positionerne 12–13:
JC, Jalisco - Position 14:
R, første indre konsonant i "Pérez" - Position 15:
M, første indre konsonant i "Ramírez" - Position 16:
N, første indre konsonant i "Juan" - Position 17:
0, et ciffer, fordi fødselsåret ligger før 2000 (rigtige poster bruger en fast regel til at vælge cifferet; i dette eksempel bruges 0)
De første 17 tegn er PERJ850315HJCRMN0. Når formlen ovenfor anvendes på denne streng, bliver summen 2342. Da 2342 mod 10 = 2, er kontrolcifret (10 − 2) mod 10 = 8. Den fulde CURP er PERJ850315HJCRMN08.
Sådan fungerer denne generator
Værktøjet opbygger en eksempel-CURP i nogle få trin. Det vælger tilfældige bogstaver til navnedelen og derefter et fødselsår fra 1940 til året før det aktuelle år, så datoen altid ligger i fortiden. Dagen vælges inden for det tegnede måneds faktiske længde, så 29. februar kun forekommer i skudår. Køn og statskode vælges tilfældigt. Derefter tilføjer værktøjet de tre indre konsonanter, anvender erstatningen af uhøflige ord, hvis det er nødvendigt, vælger et bogstav til position 17, når fødselsåret er 2000 eller senere, og et ciffer, når det er tidligere, og beregner kontrolcifret med formlen ovenfor.
Før en kode vises, kontrollerer værktøjet den igen: formen skal passe til mønsteret på 18 tegn, måneden skal være 01-12, den kodede dato skal findes i kalenderen og ligge i fortiden, og kontrolcifret skal stemme. Århundredet til datokontrollen kommer fra position 17 efter samme regel, som RENAPO bruger: et ciffer betyder 1900-tallet, et bogstav betyder 2000-tallet. En kode, der ikke består en af disse kontroller, vises ikke.
Almindelige anvendelser af genererede CURP'er
Softwareteams bruger genererede CURP'er til at teste registreringsformularer, databasefelter og valideringslogik, før et produkt lanceres til mexicanske brugere. Fordi koderne er tilfældige, kan de oprettes i stort antal til belastningstest eller til at forsyne en udviklingsdatabase med testdata uden at bruge eller gemme virkelige identifikationsoplysninger.
CURP-systemets historie
Mexico indførte CURP i 1996 for at erstatte en blanding af identifikationssystemer, som forskellige myndigheder brugte hver for sig, hvilket gjorde det vanskeligt at sammenkoble poster for den samme person på tværs af databaser. Siden da er CURP blevet et krav ved mange henvendelser til myndighederne, herunder skoleindskrivning, skatteangivelse og ansøgning om pas. For personer født fra 2000 og frem udfylder RENAPO position 17 med et bogstav i stedet for et ciffer.
Sådan kan CURP sammenlignes med andre nationale id-systemer
| Land | System | Format |
|---|---|---|
| Mexico | CURP | 18 tegn, bogstaver og cifre |
| USA | Social Security Number | 9 cifre |
| Canada | Social Insurance Number | 9 cifre |
| Brasilien | CPF | 11 cifre |
| Indien | Aadhaar | 12 cifre |
| Spanien | DNI/NIE | 8 cifre plus et kontrolbogstav |
I modsætning til et rent sekventielt nummer indeholder CURP læsbare oplysninger: fødselsdato, køn og stat. Det gør det muligt at kontrollere, om den kodede dato er en faktisk kalenderdato, hvilket er en af de kontroller, værktøjet udfører, når det genererer en eksempel-kode.
Ofte stillede spørgsmål
Hvad bruges en CURP-generator til?
Den opretter en tilfældig kode i samme format som en ægte CURP til softwaretest, indsættelse i databaser og kontrol af, at valideringslogikken fungerer korrekt.
Er genererede CURP'er knyttet til virkelige personer?
Nej. Hvert tegn vælges tilfældigt eller beregnes ud fra andre tilfældige værdier. Resultatet er ikke forbundet med nogen virkelig person, levende eller død.
Kan en genereret CURP bruges på en officiel formular?
Nej. Kun RENAPO kan udstede en gyldig CURP til en virkelig person. Det ville være bedrageri at bruge en genereret kode på en formular til en myndighed, en skatteangivelse eller et officielt dokument.
Hvorfor ender nogle CURP'er med et bogstav og andre med et ciffer på position 17?
Position 17 skelner mellem personer, som ellers ville have identiske CURP'er. RENAPO bruger et ciffer for personer født før 2000 og et bogstav for personer født i 2000 eller senere.
Hvorfor har en CURP nogle gange X som sit andet tegn?
Fordi de første fire tegn ellers ville danne et ord, der anses for uhøfligt på spansk. RENAPO erstatter i så fald det andet tegn med X, så BUEI bliver til BXEI.
Gemmer dette værktøj de CURP'er, det genererer?
Nej. Koden genereres i browseren ved hjælp af JavaScript. Intet sendes til en server eller gemmes.
Hvordan beregnes kontrolcifret?
Hvert af de første 17 tegn omdannes til et tal ud fra sin position i et fast alfabet på 37 tegn, ganges med en vægt fra 18 ned til 2 og lægges sammen. Kontrolcifret er (10 − (sum mod 10)) mod 10. Se regneeksemplet ovenfor.
Referencer
- SEGOB (Secretaría de Gobernación), CURP's officielle portal.
- RENAPO (Registro Nacional de Población e Identidad), Instructivo Normativo para la Asignación de la CURP.