Générateur de CURP - Tester les codes d'identification mexicains pour le développement
Générez des CURP de test valides pour le développement d'applications mexicaines. Outil gratuit qui crée des codes d'identification aléatoires de 18 caractères selon le format officiel de RENAPO. Parfait pour les tests, l'alimentation de base de données et la validation d'API.
Générez un exemple de CURP aléatoire, syntaxiquement valide avec un chiffre de contrôle correct.
Documentation
Qu’est-ce qu’un générateur de CURP ?
Un générateur de CURP crée un exemple aléatoire de CURP, le code de 18 caractères que le Mexique utilise pour identifier ses résidents et ses citoyens. Le résultat respecte la structure correcte et contient une clé de contrôle calculée correctement, mais il n’est associé à aucune personne réelle. Les développeurs utilisent ce type d’outil pour tester des logiciels sans exposer les données personnelles réelles de qui que ce soit.
Qu’est-ce qu’une CURP ?
CURP est l’abréviation de Clave Única de Registro de Población, ou code unique du registre de la population. Elle est délivrée par le RENAPO (Registro Nacional de Población e Identidad), le registre national mexicain de la population et de l’identité. Presque tous les résidents du Mexique en possèdent une. Elle figure sur les formulaires d’inscription scolaire, les documents fiscaux, les dossiers médicaux et les demandes d’inscription sur les listes électorales. Le code est construit à partir d’éléments du nom, de la date de naissance, du sexe et de l’État de naissance, ainsi que de deux caractères supplémentaires qui permettent de distinguer les personnes qui auraient autrement le même code.
Structure et format d’une CURP
Une CURP comporte toujours 18 caractères, uniquement des lettres majuscules ou des chiffres. Chaque position a une signification précise.
| Position | Signification |
|---|---|
| 1 | Première lettre du nom de famille paternel |
| 2 | Première voyelle interne du nom de famille paternel (la première voyelle après la première lettre) |
| 3 | Première lettre du nom de famille maternel |
| 4 | Première lettre du prénom |
| 5–6 | Deux derniers chiffres de l’année de naissance |
| 7–8 | Mois de naissance (01–12) |
| 9–10 | Jour de naissance (01–31) |
| 11 | Sexe : H pour Hombre (homme), M pour Mujer (femme) |
| 12–13 | Code à deux lettres de l’État de naissance, par exemple DF pour Mexico ou JC pour Jalisco |
| 14 | Première consonne interne du nom de famille paternel |
| 15 | Première consonne interne du nom de famille maternel |
| 16 | Première consonne interne du prénom |
| 17 | Un chiffre pour les personnes nées avant 2000, ou une lettre pour les personnes nées en 2000 ou après |
| 18 | Une clé de contrôle calculée à partir des 17 premiers caractères |
Le Mexique compte 32 codes d’État dans ce système : un pour chacun des 31 États, plus Mexico.
Lorsque les quatre premiers caractères forment par hasard un mot considéré comme grossier en espagnol, le RENAPO remplace le deuxième caractère par X. Une personne nommée Ines Bueno Estrada aurait autrement un code commençant par BUEI, qui devient donc BXEI. Ce générateur bloque les mêmes 82 mots et applique la même substitution.
Comment calculer la clé de contrôle d’une CURP
Le 18e caractère permet de détecter les erreurs de saisie et de copie. Il est calculé à partir des 17 premiers caractères selon la méthode suivante :
- Rechercher chacun des 17 premiers caractères dans l’alphabet
0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZ. Sa position dans cette liste, en commençant à 0, correspond à sa valeur. Ainsi,0a la valeur 0,Aa la valeur 10,Ra la valeur 28 etZa la valeur 36. - Multiplier la valeur de chaque caractère par un coefficient. Le coefficient commence à 18 pour le premier caractère et diminue de un pour chaque caractère suivant, jusqu’à atteindre 2 pour le 17e caractère.
- Additionner les 17 produits pour obtenir une somme, S.
- La clé de contrôle est
(10 − (S mod 10)) mod 10.
Exemple détaillé
Considérons une personne fictive, Juan Pérez Ramírez, de sexe masculin, née le 15 mars 1985 dans l’État de Jalisco.
- Position 1 :
P, première lettre de « Pérez » - Position 2 :
E, première voyelle interne de « Pérez » (les lettres après la première sont E, R, E, Z ; la première voyelle est donc E) - Position 3 :
R, première lettre de « Ramírez » - Position 4 :
J, première lettre de « Juan » - Positions 5–10 :
850315, pour 1985-03-15 - Position 11 :
H, homme - Positions 12–13 :
JC, Jalisco - Position 14 :
R, première consonne interne de « Pérez » - Position 15 :
M, première consonne interne de « Ramírez » - Position 16 :
N, première consonne interne de « Juan » - Position 17 :
0, un chiffre, car l’année de naissance est antérieure à 2000 (les enregistrements réels appliquent une règle fixe pour choisir ce chiffre ; cet exemple utilise 0)
Les 17 premiers caractères sont PERJ850315HJCRMN0. L’application de la formule ci-dessus à cette chaîne donne une somme de 2342. Comme 2342 mod 10 = 2, la clé de contrôle est (10 − 2) mod 10 = 8. La CURP complète est PERJ850315HJCRMN08.
Fonctionnement de ce générateur
L’outil construit un exemple de CURP en quelques étapes. Il choisit des lettres aléatoires pour la partie correspondant au nom, puis une année de naissance comprise entre 1940 et l’année précédant l’année actuelle, afin que la date soit toujours passée. Le jour est choisi dans la durée réelle du mois tiré au sort : le 29 février n’apparaît donc que pendant les années bissextiles. Le sexe et le code d’État sont également choisis aléatoirement. L’outil ajoute ensuite les trois consonnes internes, applique la substitution du mot grossier si nécessaire, choisit une lettre pour la position 17 lorsque l’année de naissance est 2000 ou ultérieure et un chiffre lorsqu’elle est antérieure, puis calcule la clé de contrôle avec la formule ci-dessus.
Avant d’afficher un code, l’outil le vérifie une nouvelle fois : sa structure doit correspondre au modèle de 18 caractères, le mois doit être compris entre 01 et 12, la date encodée doit exister dans le calendrier et être passée, et la clé de contrôle doit être correcte. Le siècle utilisé pour vérifier la date provient de la position 17, selon la même règle que celle du RENAPO : un chiffre indique les années 1900, tandis qu’une lettre indique les années 2000. Un code qui échoue à l’une de ces vérifications n’est pas affiché.
Utilisations courantes des CURP générées
Les équipes de développement utilisent des CURP générées pour tester les formulaires d’inscription, les champs de base de données et la logique de validation avant le lancement d’un produit destiné aux utilisateurs mexicains. Comme ces codes sont aléatoires, ils peuvent être créés en grand nombre pour des tests de charge ou pour initialiser une base de données de développement, sans utiliser ni stocker les informations d’identification réelles de qui que ce soit.
Histoire du système CURP
Le Mexique a instauré la CURP en 1996 pour remplacer un ensemble disparate de systèmes d’identification utilisés séparément par différents organismes publics. Cette situation rendait difficile la mise en correspondance des dossiers d’une même personne entre les bases de données. Depuis, la CURP est devenue nécessaire pour de nombreuses démarches administratives, notamment l’inscription scolaire, la déclaration fiscale et la demande de passeport. Pour les personnes nées à partir de 2000, le RENAPO utilise une lettre plutôt qu’un chiffre à la position 17.
Comparaison de la CURP avec d’autres systèmes nationaux d’identification
| Pays | Système | Format |
|---|---|---|
| Mexique | CURP | 18 caractères, lettres et chiffres |
| États-Unis | Social Security Number | 9 chiffres |
| Canada | Social Insurance Number | 9 chiffres |
| Brésil | CPF | 11 chiffres |
| Inde | Aadhaar | 12 chiffres |
| Espagne | DNI/NIE | 8 chiffres plus une lettre de contrôle |
Contrairement à un numéro purement séquentiel, la CURP contient des informations lisibles : la date de naissance, le sexe et l’État. Il est donc possible de vérifier si la date encodée correspond à une date réelle du calendrier. C’est l’une des vérifications effectuées par cet outil lors de la génération d’un exemple de code.
Questions fréquentes
À quoi sert un générateur de CURP ?
Il crée un code aléatoire au même format qu’une véritable CURP, destiné aux tests logiciels, à l’initialisation de bases de données et à la vérification du bon fonctionnement de la logique de validation.
Les CURP générées sont-elles associées à de vraies personnes ?
Non. Chaque caractère est choisi aléatoirement ou calculé à partir d’autres valeurs aléatoires. Le résultat n’est associé à aucune personne réelle, vivante ou décédée.
Une CURP générée peut-elle être utilisée sur un formulaire officiel ?
Non. Seul le RENAPO peut délivrer une CURP valide pour une personne réelle. Utiliser un code généré sur un formulaire administratif, une déclaration fiscale ou tout autre document officiel serait frauduleux.
Pourquoi certaines CURP se terminent-elles par une lettre et d’autres par un chiffre à la position 17 ?
La position 17 permet de distinguer les personnes qui auraient autrement des CURP identiques. Le RENAPO utilise un chiffre pour les personnes nées avant 2000 et une lettre pour celles nées en 2000 ou après.
Pourquoi une CURP contient-elle parfois un X comme deuxième caractère ?
Parce que les quatre premiers caractères formeraient sinon un mot considéré comme grossier en espagnol. Dans ce cas, le RENAPO remplace le deuxième caractère par X : BUEI devient ainsi BXEI.
Cet outil stocke-t-il les CURP qu’il génère ?
Non. Le code est généré dans le navigateur à l’aide de JavaScript. Rien n’est envoyé à un serveur ni enregistré.
Comment la clé de contrôle est-elle calculée ?
Chacun des 17 premiers caractères est converti en nombre selon sa position dans un alphabet fixe de 37 caractères, puis multiplié par un coefficient allant de 18 à 2. Les produits sont additionnés. La clé de contrôle est (10 − (sum mod 10)) mod 10. Voir l’exemple détaillé ci-dessus.
Références
- SEGOB (Secretaría de Gobernación), portail officiel de la CURP.
- RENAPO (Registro Nacional de Población e Identidad), Instructivo Normativo para la Asignación de la CURP.