CURP-generaattori - Testaa Meksikon henkilötunnuksia kehitykseen
Luo kelvollisia testattavia CURP-tunnuksia meksikolaisten sovellusten kehittämiseen. Ilmainen työkalu luo satunnaisia 18-merkkisiä tunnistuskoodeja virallisen RENAPO-muodon mukaisesti. Täydellinen testaukseen, tietokantojen täyttämiseen ja API-validointiin.
Luo satunnainen, syntaktisesti kelvollinen esimerkkiCURP oikealla tarkistusnumerolla.
Dokumentaatio
Mikä on CURP-generaattori?
CURP-generaattori luo satunnaisen esimerkkikoodin CURP-tunnisteesta, joka on Meksikon asukkaiden ja kansalaisten tunnistamiseen käyttämä 18 merkin koodi. Tulosteella on oikea rakenne ja oikein laskettu tarkistusnumero, mutta sitä ei ole yhdistetty todelliseen henkilöön. Kehittäjät käyttävät tällaisia työkaluja ohjelmistojen testaamiseen ilman kenenkään todellisten henkilötietojen paljastamista.
Mikä on CURP?
CURP on lyhenne sanoista Clave Única de Registro de Población eli väestörekisterin yksilöllinen tunnus. Sen myöntää RENAPO (Registro Nacional de Población e Identidad), Meksikon kansallinen väestörekisteri. Lähes jokaisella Meksikon asukkaalla on sellainen. Se näkyy koulujen ilmoittautumislomakkeissa, verotiedoissa, lääketieteellisissä asiakirjoissa ja äänestäjärekisterissä. Koodi muodostuu henkilön nimen osista, syntymäajasta, sukupuolesta ja syntymäosavaltiosta sekä kahdesta lisämerkistä, joiden avulla erotetaan toisistaan henkilöt, joilla olisi muuten sama koodi.
CURP-tunnisteen rakenne ja muoto
CURP-tunnisteessa on aina 18 merkkiä, jotka ovat isoja kirjaimia tai numeroita. Jokaisella paikalla on oma kiinteä merkityksensä.
| Paikka | Merkitys |
|---|---|
| 1 | Isän sukunimen ensimmäinen kirjain |
| 2 | Isän sukunimen ensimmäinen sisäinen vokaali (ensimmäinen vokaali ensimmäisen kirjaimen jälkeen) |
| 3 | Äidin sukunimen ensimmäinen kirjain |
| 4 | Etunimen ensimmäinen kirjain |
| 5–6 | Syntymävuoden kaksi viimeistä numeroa |
| 7–8 | Syntymäkuukausi (01–12) |
| 9–10 | Syntymäpäivä (01–31) |
| 11 | Sukupuoli: H tarkoittaa miestä (Hombre) ja M naista (Mujer) |
| 12–13 | Syntymäosavaltion kaksikirjaiminen koodi, kuten DF Mexico Citylle tai JC Jaliscolle |
| 14 | Isän sukunimen ensimmäinen sisäinen konsonantti |
| 15 | Äidin sukunimen ensimmäinen sisäinen konsonantti |
| 16 | Etunimen ensimmäinen sisäinen konsonantti |
| 17 | Numero ennen 2000 syntyneille tai kirjain 2000 ja sen jälkeen syntyneille |
| 18 | Ensimmäisten 17 merkin perusteella laskettu tarkistusnumero |
Meksikolla on tässä järjestelmässä 32 osavaltiokoodia, yksi kutakin 31 osavaltiota ja Mexico Cityä varten.
Jos neljä ensimmäistä merkkiä sattuvat muodostamaan espanjassa sopimattomana pidetyn sanan, RENAPO korvaa toisen merkin merkillä X. Ines Bueno Estradan koodi alkaisi muuten merkeillä BUEI, joten sen alku on sen sijaan BXEI. Tämä generaattori estää samat 82 sanaa ja tekee saman korvauksen.
CURP-tarkistusnumeron laskeminen
-
merkki paljastaa kirjoitus- ja kopiointivirheet. Se lasketaan ensimmäisten 17 merkin perusteella seuraavasti:
-
Etsi jokainen ensimmäisistä 17 merkistä aakkostosta
0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZ. Sen paikka tässä luettelossa alkaen paikasta 0 on merkin arvo. Siten merkin0arvo on 0, merkinAarvo 10, merkinRarvo 28 ja merkinZarvo 36. -
Kerro jokaisen merkin arvo painokertoimella. Painokerroin alkaa ensimmäisen merkin kohdalla arvosta 18 ja pienenee yhdellä jokaisen seuraavan merkin kohdalla päätyen 17. merkin kohdalla arvoon 2.
-
Laske 17 tuloa yhteen saadaksesi summan S.
-
Tarkistusnumero on
(10 − (S mod 10)) mod 10.
Laskuesimerkki
Tarkastellaan kuvitteellista henkilöä Juan Pérez Ramírezia, joka on syntynyt miehenä 15. maaliskuuta 1985 Jaliscossa.
- Paikka 1:
P, sanan ”Pérez” ensimmäinen kirjain - Paikka 2:
E, sanan ”Pérez” ensimmäinen sisäinen vokaali (ensimmäisen kirjaimen jälkeiset kirjaimet ovat E, R, E ja Z, joten ensimmäinen vokaali on E) - Paikka 3:
R, sanan ”Ramírez” ensimmäinen kirjain - Paikka 4:
J, sanan ”Juan” ensimmäinen kirjain - Paikat 5–10:
850315, päivämäärälle 1985-03-15 - Paikka 11:
H, mies - Paikat 12–13:
JC, Jalisco - Paikka 14:
R, sanan ”Pérez” ensimmäinen sisäinen konsonantti - Paikka 15:
M, sanan ”Ramírez” ensimmäinen sisäinen konsonantti - Paikka 16:
N, sanan ”Juan” ensimmäinen sisäinen konsonantti - Paikka 17:
0, numero, koska syntymävuosi on ennen vuotta 2000 (oikeissa tiedoissa numeron valinta tehdään kiinteän säännön mukaan; tässä esimerkissä käytetään arvoa 0)
Ensimmäiset 17 merkkiä ovat PERJ850315HJCRMN0. Kun yllä oleva kaava suoritetaan tälle merkkijonolle, summaksi saadaan 2342. Koska 2342 mod 10 = 2, tarkistusnumero on (10 − 2) mod 10 = 8. Koko CURP on PERJ850315HJCRMN08.
Näin generaattori toimii
Työkalu muodostaa esimerkkikoodin CURP-tunnisteesta muutamassa vaiheessa. Se valitsee nimiosaan satunnaiset kirjaimet ja syntymävuodeksi luvun 1940 ja kuluvan vuoden edeltävän vuoden väliltä, joten päivämäärä on aina menneisyydessä. Päivä valitaan kyseisen kuukauden todellisten päivien joukosta, joten helmikuun päivä 29 esiintyy vain karkausvuosina. Sukupuoli ja osavaltiokoodi valitaan satunnaisesti. Sen jälkeen työkalu lisää kolme sisäistä konsonanttia, tekee tarvittaessa sopimattoman sanan korvauksen, valitsee paikan 17 merkiksi kirjaimen, jos syntymävuosi on 2000 tai myöhempi, ja numeron, jos se on aiempi, sekä laskee tarkistusnumeron yllä olevalla kaavalla.
Ennen koodin näyttämistä työkalu tarkistaa sen uudelleen: muodon on vastattava 18 merkin rakennetta, kuukauden on oltava 01-12, koodattu päivämäärä on voitava löytää kalenterista ja sen on oltava menneisyydessä, ja tarkistusnumeron on täsmättävä. Päivämäärätarkistuksen vuosisata päätellään paikasta 17 saman säännön mukaan kuin RENAPOlla: numero tarkoittaa 1900-lukua ja kirjain 2000-lukua. Koodia, joka ei läpäise jotakin näistä tarkistuksista, ei näytetä.
Luotujen CURP-tunnisteiden yleisiä käyttötarkoituksia
Ohjelmistotiimit käyttävät luotuja CURP-tunnisteita rekisteröitymislomakkeiden, tietokantakenttien ja kelpoisuustarkistuslogiikan testaamiseen ennen Meksikon käyttäjille tarkoitetun tuotteen julkaisemista. Koska koodit ovat satunnaisia, niitä voidaan luoda suuria määriä kuormitustestausta tai kehitystietokannan alustamista varten ilman kenenkään todellisten tunnistetietojen käyttämistä tai tallentamista.
CURP-järjestelmän historia
Meksiko otti CURP-tunnisteen käyttöön vuonna 1996 korvatakseen eri viranomaisten erikseen käyttämien tunnistusjärjestelmien kirjavan kokonaisuuden, joka vaikeutti saman henkilön tietojen yhdistämistä eri tietokannoissa. Sittemmin CURP-tunnisteesta on tullut vaatimus monissa asioinneissa viranomaisten kanssa, kuten kouluun ilmoittautumisessa, veroilmoituksen jättämisessä ja passin hakemisessa. Vuodesta 2000 alkaen syntyneille RENAPO täyttää paikan 17 kirjaimella numeron sijaan.
Miten CURP vertautuu muihin kansallisiin henkilötunnusjärjestelmiin
| Maa | Järjestelmä | Muoto |
|---|---|---|
| Meksiko | CURP | 18 merkkiä, kirjaimia ja numeroita |
| Yhdysvallat | sosiaaliturvatunnus | 9 numeroa |
| Kanada | sosiaalivakuutusnumero | 9 numeroa |
| Brasilia | CPF | 11 numeroa |
| Intia | Aadhaar | 12 numeroa |
| Espanja | DNI/NIE | 8 numeroa ja tarkistuskirjain |
Toisin kuin pelkkä juokseva numero, CURP sisältää luettavia tietoja: syntymäajan, sukupuolen ja osavaltion. Näin voidaan tarkistaa, onko koodattu päivämäärä kelvollinen kalenteripäivä. Tämä on yksi tarkistuksista, jotka työkalu suorittaa luodessaan esimerkkikoodin.
Usein kysyttyä
Mihin CURP-generaattoria käytetään?
Se luo todellisen CURP-tunnisteen kanssa samanmuotoisen satunnaisen koodin ohjelmistojen testaamiseen, tietokannan alustamiseen ja sen tarkistamiseen, että kelpoisuustarkistuslogiikka toimii oikein.
Liitetäänkö luodut CURP-tunnisteet todellisiin henkilöihin?
Eivät. Jokainen merkki valitaan satunnaisesti tai lasketaan muista satunnaisista arvoista. Tulos ei liity kehenkään todelliseen henkilöön, elävään tai kuolleeseen.
Voiko luotua CURP-tunnistetta käyttää virallisessa lomakkeessa?
Ei. Vain RENAPO voi myöntää todelliselle henkilölle voimassa olevan CURP-tunnisteen. Luodun koodin käyttäminen viranomaislomakkeessa, veroilmoituksessa tai muussa virallisessa asiakirjassa olisi petollista.
Miksi joidenkin CURP-tunnisteiden paikka 17 sisältää kirjaimen ja toisten numeron?
Paikka 17 erottaa toisistaan henkilöt, joilla olisi muuten sama CURP-tunniste. RENAPO käyttää ennen 2000 syntyneillä numeroa ja 2000 tai sen jälkeen syntyneillä kirjainta.
Miksi CURP-tunnisteen toinen merkki on joskus X?
Koska neljä ensimmäistä merkkiä muodostaisivat muuten espanjassa sopimattomana pidetyn sanan. RENAPO korvaa toisessa merkissä olevan merkin tällöin merkillä X, joten BUEI muuttuu muotoon BXEI.
Tallentaako tämä työkalu luomansa CURP-tunnisteet?
Ei. Koodi luodaan selaimessa JavaScriptillä. Mitään ei lähetetä palvelimelle eikä tallenneta.
Miten tarkistusnumero lasketaan?
Jokainen ensimmäisistä 17 merkistä muutetaan numeroksi sen perusteella, mikä on sen paikka kiinteässä 37 merkin aakkostossa, kerrotaan painokertoimella 18–2 ja summataan. Tarkistusnumero on (10 − (sum mod 10)) mod 10. Katso yllä oleva laskuesimerkki.
Viitteet
- SEGOB (Secretaría de Gobernación), CURP:n virallinen portaali.
- RENAPO (Registro Nacional de Población e Identidad), Instructivo Normativo para la Asignación de la CURP.