Salta al contingut

Generador de CURP - Prova de Codis d'Identificació Mexicans per al Desenvolupament

Genera CURPs de prova vàlids per al desenvolupament d'aplicacions mexicanes. Eina gratuïta que crea codis d'identificació aleatoris de 18 caràcters seguint el format oficial de RENAPO. Perfecte per a proves, emplenat de bases de dades i validació d'API.

Generar una mostra CURP aleatòria, sintàcticament vàlida amb un dígit de control correcte.

Calculadora de càrrega...
📚

Documentació

Què és un generador de CURP?

Un generador de CURP crea una CURP aleatòria de prova, el codi de 18 caràcters que Mèxic utilitza per identificar residents i ciutadans. El resultat té l’estructura correcta i un dígit de control calculat correctament, però no està vinculat a cap persona real. Els desenvolupadors utilitzen eines com aquesta per provar programari sense exposar les dades personals reals de ningú.

Què és una CURP?

CURP és l’abreviació de Clave Única de Registro de Población, o codi únic del registre de població. L’emet el RENAPO (Registro Nacional de Población e Identidad), el registre nacional de població de Mèxic. Gairebé tots els residents de Mèxic en tenen una. Apareix en formularis de matrícula escolar, registres fiscals, documents mèdics i inscripcions electorals. El codi es compon de parts del nom, la data de naixement, el sexe i l’estat de naixement d’una persona, més dos caràcters addicionals que ajuden a distingir les persones que, altrament, tindrien el mateix codi.

Estructura i format de la CURP

Una CURP sempre té 18 caràcters, tots lletres majúscules o dígits. Cada posició té un significat fix.

PosicióSignificat
1Primera lletra del cognom patern
2Primera vocal interna del cognom patern (la primera vocal després de la primera lletra)
3Primera lletra del cognom matern
4Primera lletra del nom de pila
5–6Els dos últims dígits de l’any de naixement
7–8Mes de naixement (01–12)
9–10Dia de naixement (01–31)
11Sexe: H per Hombre (home), M per Mujer (dona)
12–13Codi de dues lletres de l’estat de naixement, com ara DF per a Ciutat de Mèxic o JC per a Jalisco
14Primera consonant interna del cognom patern
15Primera consonant interna del cognom matern
16Primera consonant interna del nom de pila
17Un dígit per a les persones nascudes abans de 2000, o una lletra per a les persones nascudes el 2000 o després
18Un dígit de control calculat a partir dels primers 17 caràcters

Mèxic té 32 codis d’estat en aquest sistema, un per a cadascun dels 31 estats més Ciutat de Mèxic.

Quan els quatre primers caràcters formen per casualitat una paraula considerada grollera en espanyol, el RENAPO substitueix el segon caràcter per X. Una persona anomenada Ines Bueno Estrada començaria altrament per BUEI, de manera que el codi comença per BXEI. Aquest generador bloqueja les mateixes 82 paraules i aplica la mateixa substitució.

Com es calcula el dígit de control de la CURP

El caràcter 18 detecta errors d’escriptura i de còpia. Es calcula a partir dels primers 17 caràcters amb aquest mètode:

  1. Consulta cadascun dels primers 17 caràcters a l’alfabet 0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZ. La seva posició en aquesta llista, començant per 0, és el seu valor. Així, 0 té el valor 0, A té el valor 10, R té el valor 28 i Z té el valor 36.
  2. Multiplica el valor de cada caràcter per un pes. El pes comença en 18 per al primer caràcter i disminueix en un per a cada caràcter posterior, fins a acabar en 2 per al caràcter 17.
  3. Suma els 17 productes per obtenir una suma, S.
  4. El dígit de control és (10 − (S mod 10)) mod 10.

Exemple resolt

Considerem una persona fictícia, Juan Pérez Ramírez, nascuda de sexe masculí el 15 de març del 1985, a Jalisco.

  • Posició 1: P, primera lletra de «Pérez»
  • Posició 2: E, primera vocal interna de «Pérez» (les lletres posteriors a la primera són E, R, E, Z, de manera que la primera vocal és E)
  • Posició 3: R, primera lletra de «Ramírez»
  • Posició 4: J, primera lletra de «Juan»
  • Posicions 5–10: 850315, corresponents a 1985-03-15
  • Posició 11: H, home
  • Posicions 12–13: JC, Jalisco
  • Posició 14: R, primera consonant interna de «Pérez»
  • Posició 15: M, primera consonant interna de «Ramírez»
  • Posició 16: N, primera consonant interna de «Juan»
  • Posició 17: 0, un dígit, perquè l’any de naixement és anterior a 2000 (els registres reals utilitzen una regla fixa per escollir el dígit; aquest exemple utilitza 0)

Els primers 17 caràcters són PERJ850315HJCRMN0. En aplicar la fórmula anterior a aquesta cadena s’obté una suma de 2342. Com que 2342 mod 10 = 2, el dígit de control és (10 − 2) mod 10 = 8. La CURP completa és PERJ850315HJCRMN08.

Com funciona aquest generador

L’eina construeix una mostra de CURP en uns quants passos. Tria lletres aleatòries per a la part del nom i després un any de naixement des de 1940 fins a l’any anterior a l’actual, de manera que la data sempre sigui passada. El dia es tria dins de la durada real del mes obtingut, de manera que el 29 de febrer només apareix en anys bixests. El sexe i el codi d’estat es trien aleatòriament. A continuació, l’eina afegeix les tres consonants internes, aplica la substitució de la paraula grollera si cal, tria una lletra per a la posició 17 quan l’any de naixement és 2000 o posterior i un dígit quan és anterior, i calcula el dígit de control amb la fórmula anterior.

Abans de mostrar un codi, l’eina el torna a comprovar: la forma ha de coincidir amb el patró de 18 caràcters, el mes ha de ser 01-12, la data codificada ha d’existir al calendari i ha de ser passada, i el dígit de control ha de coincidir. El segle d’aquesta comprovació de la data prové de la posició 17, segons la mateixa regla que utilitza el RENAPO: un dígit significa els anys 1900 i una lletra significa els anys 2000. No es mostra cap codi que no superi alguna d’aquestes comprovacions.

Usos habituals de les CURP generades

Els equips de programari utilitzen CURP generades per provar formularis de registre, camps de bases de dades i lògica de validació abans de llançar un producte per a usuaris mexicans. Com que els codis són aleatoris, se’n poden crear grans quantitats per fer proves de càrrega o inicialitzar una base de dades de desenvolupament, sense utilitzar ni emmagatzemar informació identificativa real de ningú.

Història del sistema CURP

Mèxic va introduir la CURP el 1996 per substituir un conjunt poc coordinat de sistemes d’identificació que diferents organismes governamentals utilitzaven per separat, cosa que dificultava relacionar els registres de la mateixa persona entre bases de dades. Des d’aleshores, la CURP s’ha convertit en un requisit per a moltes gestions governamentals, com ara la matrícula escolar, la declaració d’impostos i la sol·licitud d’un passaport. Per a les persones nascudes a partir de 2000, el RENAPO omple la posició 17 amb una lletra en lloc d’un dígit.

Comparació de la CURP amb altres sistemes nacionals d’identificació

PaísSistemaFormat
MèxicCURP18 caràcters, lletres i dígits
Estats UnitsNúmero de la Seguretat Social9 dígits
CanadàNúmero de l’assegurança social9 dígits
BrasilCPF11 dígits
ÍndiaAadhaar12 dígits
EspanyaDNI/NIE8 dígits més una lletra de control

A diferència d’un número purament seqüencial, la CURP incorpora informació llegible: la data de naixement, el sexe i l’estat. Això permet comprovar si la data codificada és una data real del calendari, una de les comprovacions que fa aquesta eina en generar una mostra de codi.

Preguntes freqüents

Per a què serveix un generador de CURP?

Crea un codi aleatori amb el mateix format que una CURP real, per utilitzar-lo en proves de programari, inicialització de bases de dades i comprovació del funcionament correcte de la lògica de validació.

Les CURP generades estan vinculades a persones reals?

No. Cada caràcter es tria aleatòriament o es calcula a partir d’altres valors aleatoris. El resultat no està relacionat amb cap persona real, viva o morta.

Es pot utilitzar una CURP generada en un formulari oficial?

No. Només el RENAPO pot emetre una CURP vàlida per a una persona real. Utilitzar un codi generat en un formulari governamental, una declaració d’impostos o qualsevol document oficial seria fraudulent.

Per què algunes CURP acaben en una lletra i d’altres en un dígit a la posició 17?

La posició 17 distingeix les persones que, altrament, tindrien CURP idèntiques. El RENAPO utilitza un dígit per a les persones nascudes abans de 2000 i una lletra per a les persones nascudes el 2000 o després.

Per què de vegades una CURP té una X com a segon caràcter?

Perquè els quatre primers caràcters formarien altrament una paraula considerada grollera en espanyol. En aquest cas, el RENAPO substitueix el segon caràcter per X, de manera que BUEI es converteix en BXEI.

Aquesta eina emmagatzema les CURP que genera?

No. El codi es genera al navegador mitjançant JavaScript. No s’envia res a cap servidor ni es desa.

Com es calcula el dígit de control?

Cadascun dels primers 17 caràcters es converteix en un número segons la seva posició en un alfabet fix de 37 caràcters, es multiplica per un pes de 18 fins a 2 i se suma. El dígit de control és (10 − (sum mod 10)) mod 10. Consulteu l’exemple resolt anterior.

Referències

  1. SEGOB (Secretaría de Gobernación), portal oficial de la CURP.
  2. RENAPO (Registro Nacional de Población e Identidad), Instructivo Normativo para la Asignación de la CURP.