Chiffre de contrôle CURP Mexique
Saisissez HEGG560427MVZRRL0 et obtenez le chiffre de contrôle 4 : la CURP complète est donc HEGG560427MVZRRL04. Vous pouvez aussi coller les 18 caractères pour voir si le dernier chiffre correspond. Utile pour la paie, les inscriptions scolaires et l'ouverture de comptes. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- CURP
- HEGG560427MVZRRL0
- Mode de calcul
- Compute
- Entrée
- HEGG560427MVZRRL0
- Chiffre de contrôle
- 4
- CURP
- HEGG560427MVZRRL04
La CURP mexicaine (Clave Única de Registro de Población) est un identifiant personnel de dix-huit caractères utilisé dans la banque, la paie, la santé, l'école et les formulaires officiels au Mexique. Dix-sept caractères encodent le nom, la date de naissance, le sexe, l'État et une homoclave ; le dix-huitième est un chiffre de contrôle dérivé d'une table de valeurs fixe, afin qu'une frappe erronée ou une chaîne altérée échoue plutôt que de ressembler à un autre enregistrement valide. Cette capacité calcule ce chiffre à partir d'une base pure de dix-sept caractères, ou valide une CURP complète de dix-huit et indique si le chiffre stocké correspond à la valeur recalculée.
Comment le chiffre de contrôle CURP mexicain est calculé
Une CURP comporte toujours dix-huit caractères alphanumériques lorsqu'elle est écrite sans ponctuation. Les dix-sept premiers forment la clé de base ; le dix-huitième est le chiffre vérificateur. Chaque caractère correspond à un entier de zéro à trente-six selon le dictionnaire officiel : chiffres de zéro à neuf, puis lettres de A à N, puis Ñ, puis de O à Z.
Pour chaque position i de zéro à seize, la valeur du caractère est multipliée par le poids dix-huit moins i, de sorte que le premier caractère a le poids dix-sept et le dix-septième le poids un. Ces produits sont additionnés, la somme est réduite modulo dix, et le chiffre de contrôle est dix moins ce reste — ou zéro lorsque le reste est déjà zéro (équivalemment, lorsque dix moins le reste vaudrait dix).
La validation est l'inverse : recalculez le chiffre à partir des dix-sept premiers caractères et comparez-le au dernier, qui doit être un chiffre décimal. *.
Cas d’usage
Auditer les colonnes CURP dans les exports en masse
Validez par lots chaque CURP d'un CSV de paie ou d'un extrait ERP et mettez en quarantaine les lignes dont le chiffre de contrôle ne correspond plus à la valeur recalculée.
Questions fréquentes
Qu'est-ce que le chiffre de contrôle de la CURP mexicaine ?
C'est le dix-huitième caractère d'une CURP, calculé à partir des dix-sept premiers avec la table officielle de valeurs 0–36 et les poids de 18 à 2, afin qu'une faute d'un caractère et de nombreuses chaînes corrompues échouent bien plus souvent qu'elles ne ressemblent à un autre enregistrement.
Que se passe-t-il avec espaces, tirets ou mauvaises longueurs ?
Les tâches de validation en échec ne sont pas facturées. Retirez le formatage côté client avant l'appel.
L'outil de chiffre de contrôle CURP Mexique est-il gratuit ?
L'outil navigateur est gratuit et s'exécute en local.
Que codent les 17 premiers caractères de la CURP ?
Ils sont formés à partir du nom, de la date de naissance, du sexe et de l'État de la personne, suivis d'une homoclave. Seul le dix-huitième caractère est un chiffre de contrôle, calculé à partir de ces dix-sept.
Pourquoi la lettre Ñ compte-t-elle dans le calcul ?
Chaque caractère reçoit une valeur de 0 à 36 dans l'ordre officiel : chiffres de 0 à 9, lettres de A à N, puis Ñ, puis de O à Z. Sans le Ñ, la valeur de toutes les lettres suivantes serait décalée.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/enc/curp-mexico \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"curp":"HEGG560427MVZRRL0"}'const res = await fetch("https://api.kit.forhosting.com/enc/curp-mexico", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"curp": "HEGG560427MVZRRL0"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/curp-mexico",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"curp": "HEGG560427MVZRRL0"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/curp-mexico", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"curp":"HEGG560427MVZRRL0"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"curp":"HEGG560427MVZRRL0"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/curp-mexico", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"curp": "HEGG560427MVZRRL0"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.curp_mexico",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Les caractères hors CURP, les mauvaises longueurs et les entrées vides sont rejetés avec une erreur invalid_input claire. Exécutez-la gratuitement dans le navigateur ou appelez l'API KIT ; les deux chemins partagent la même arithmétique pure, sans réseau ni registres de personnes vivantes.
Comment le chiffre de contrôle CURP mexicain est calculé
Comme l'algorithme est une arithmétique modulaire entière à table fixe, les mêmes dix-sept caractères produisent toujours le même chiffre sur toute plateforme — navigateur, Worker ou banc de test hors ligne — c'est pourquoi la capacité est livrée en moteur parse de niveau A plutôt qu'en appel de modèle.
Comment calculer le chiffre ou valider une CURP complète
Envoyez un champ curp ne contenant que les lettres A–Z, la lettre Ñ et les chiffres de zéro à neuf. Le mode validate attend exactement dix-huit caractères. Cette forme facilite l'affichage « vous avez saisi X, attendu Y » dans une UI KYC ou d'inscription sans seconde requête. Chaînes vides, curp manquant, modes invalides et mauvaises longueurs (par exemple seize ou dix-neuf) échouent avant toute somme pondérée et ne sont pas facturés. Espaces, tirets, points et autre ponctuation sont rejetés comme entrée non CURP avec invalid_input, afin qu'un formulaire n'accepte jamais une valeur nettoyée en silence : retirez le formatage côté client si l'utilisateur colle une chaîne espacée ou traitée. Le mode compute est le défaut : fournissez exactement dix-sept caractères de base ; le moteur renvoie check_digit comme un seul caractère, curp comme le code complet de dix-huit et length dix-huit. La réponse indique valid à true seulement lorsque le chiffre final correspond à expected_check_digit recalculé ; elle inclut toujours base (les dix-sept premiers), check_digit tel que soumis, expected_check_digit et la curp canonique formée de base plus le chiffre attendu. Comme le chemin est purement parse, sans horloge, aléa ni réseau, la même entrée produit toujours le même JSON sur l'outil gratuit du navigateur et sur l'API. À $0.002 par requête réussie, vous protégez les imports CRM en masse, les audits de fichiers partenaires et les portes de formulaires sans négocier un palier sur mesure.
Où le chiffre CURP s'intègre dans les flux produit réels
Les parcours d'onboarding fintech et marketplace au Mexique demandent tôt une CURP ; valider le chiffre à la sortie du champ réduit les envois échoués et les tickets support sans appeler RENAPO à chaque frappe. Les systèmes de paie et RH importent des CSV d'employés et doivent mettre en quarantaine les lignes dont le dix-huitième caractère ne correspond plus, ce qui capture éditions humaines et bugs des générateurs amont. Ne traitez pas un chiffre correct comme preuve que la personne existe dans les systèmes RENAPO ou que le document est actif : cela prouve seulement que la chaîne de dix-huit caractères est arithmétiquement bien formée sous la règle officielle CURP, le même critère d'honnêteté que pour tout outil de somme de contrôle d'identifiant national. Les portails santé et scolarité qui acceptent la CURP comme clé citoyenne peuvent bloquer la suite tant que valid n'est pas true et afficher expected_check_digit lorsque le chiffre est faux. Les jobs de qualité de données recalculent expected_check_digit pour chaque colonne CURP d'un export et signalent les écarts avant facturation ou reporting fiscal.
Cas d'intégration
Compléter dix-sept caractères de base pour fixtures et formulaires
Prenez une base de dix-sept caractères d'un plan de test ou d'un enregistrement partiel, appelez le mode compute et stockez ou affichez la curp complète de dix-huit avec le chiffre de contrôle ajouté.
Valider les CURP saisies ou importées à l'entrée
Lorsqu'un formulaire d'inscription, un import CRM ou une API partenaire soumet dix-huit caractères, appelez le mode validate et bloquez le stockage si valid est false, en montrant expected_check_digit pour corriger une frappe.
Questions techniques
Comment calculer un chiffre de contrôle CURP avec cette API ?
Envoyez un POST avec curp de exactement dix-sept caractères et mode compute (ou omettez mode). La réponse inclut check_digit et curp (le code complet de dix-huit caractères).
Comment valider une CURP complète de dix-huit caractères ?
Envoyez un POST avec la chaîne de dix-huit caractères et mode validate. La réponse inclut valid, check_digit, expected_check_digit, base et la curp canonique.