Cifra di controllo CURP Messico
Inserisca HEGG560427MVZRRL0 e otterrà la cifra di controllo 4, quindi la CURP completa è HEGG560427MVZRRL04; oppure incolli i 18 caratteri per vedere se l'ultima cifra corrisponde. Utile per buste paga, iscrizioni scolastiche e aperture di conto. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- CURP
- HEGG560427MVZRRL0
- Modalità di calcolo
- Compute
- Input
- HEGG560427MVZRRL0
- Cifra di controllo
- 4
- CURP
- HEGG560427MVZRRL04
La CURP messicana (Clave Única de Registro de Población) è un identificativo personale di diciotto caratteri usato in banche, paghe, sanità, scuole e moduli ufficiali in Messico. Diciassette caratteri codificano nome, data di nascita, sesso, stato e omoclave; il diciottesimo è una cifra di controllo derivata da una tabella di valori fissa, così che un errore di battitura o una stringa alterata fallisca invece di sembrare un altro registro valido. Questa capacità calcola quella cifra da una base pura di diciassette caratteri, oppure convalida una CURP completa di diciotto e indica se la cifra memorizzata coincide con il valore ricalcolato.
Come si calcola la cifra di controllo della CURP messicana
Una CURP ha sempre diciotto caratteri alfanumerici quando è scritta senza punteggiatura. I primi diciassette formano la chiave di base; il diciottesimo è la cifra verificatrice. Ogni carattere mappa a un intero da zero a trentasei secondo l'ordine del dizionario ufficiale: cifre da zero a nove, poi lettere da A a N, poi Ñ, poi da O a Z.
Per ogni posizione i da zero a sedici, il valore del carattere è moltiplicato per il peso diciotto meno i, così il primo ha peso diciassette e il diciassettesimo peso uno. Quei prodotti si sommano, la somma si riduce modulo dieci e la cifra di controllo è dieci meno quel resto — oppure zero quando il resto è già zero (equivalentemente, quando dieci meno il resto sarebbe dieci). La convalida è l'inverso: ricalcoli la cifra dai primi diciassette caratteri e la confronti con l'ultimo, che deve essere una cifra decimale.
*.
Casi d'uso
Revisionare colonne CURP in export massivi
Convalidi in batch ogni CURP di un CSV paghe o di un estratto ERP e metta in quarantena le righe la cui cifra di controllo non coincide più con il valore ricalcolato.
Domande frequenti
Che cos'è la cifra di controllo della CURP messicana?
È il diciottesimo carattere di una CURP, calcolato dai primi diciassette con la tabella ufficiale di valori 0–36 e i pesi da 18 a 2, così che errori di un carattere e molte stringhe corrotte falliscano con probabilità molto più alta di sembrare un altro registro.
Cosa succede con spazi, trattini o lunghezze errate?
Le attività di convalida fallite non sono fatturate. Rimuova la formattazione nel client prima di chiamare.
Lo strumento cifra di controllo CURP Messico è gratuito?
Lo strumento browser è gratuito e viene eseguito in locale.
Cosa codificano i primi 17 caratteri della CURP?
Sono ricavati da nome, data di nascita, sesso e stato della persona, seguiti da una homoclave. Solo il diciottesimo carattere è una cifra di controllo, calcolata a partire da quei diciassette.
Perché la lettera Ñ conta nel calcolo?
Ogni carattere riceve un valore da 0 a 36 nell'ordine ufficiale: cifre da 0 a 9, lettere dalla A alla N, poi la Ñ e infine dalla O alla Z. Senza la Ñ, il valore di tutte le lettere successive slitterebbe.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"curp": "HEGG560427MVZRRL0"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.curp_mexico",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Caratteri non CURP, lunghezze errate e input vuoti sono respinti con un errore invalid_input chiaro. La esegua gratis nel browser o chiami l'API KIT; entrambi i percorsi condividono la stessa aritmetica pura, senza rete e senza registri di persone viventi.
Come si calcola la cifra di controllo della CURP messicana
Poiché l'algoritmo è aritmetica modulare intera con tabella fissa, gli stessi diciassette caratteri producono sempre la stessa cifra su ogni piattaforma — browser, Worker o harness offline — ed è per questo che la capacità è un motore parse di livello A e non una chiamata a un modello.
Come calcolare la cifra o convalidare una CURP completa
Invii un campo curp che contenga solo lettere A–Z, la lettera Ñ e le cifre da zero a nove. La modalità validate attende esattamente diciotto caratteri. Quella forma facilita mostrare «Lei ha digitato X, atteso Y» in un'interfaccia KYC o di registrazione senza una seconda richiesta. Stringhe vuote, curp assente, modalità non valide e lunghezze errate (ad esempio sedici o diciannove) falliscono prima di qualsiasi somma ponderata e non sono fatturate. Spazi, trattini, punti e altra punteggiatura sono respinti come input non CURP con invalid_input, così che un modulo non accetti mai un valore ripulito in silenzio: rimuova la formattazione nel client se l'utente incolla una stringa con spazi o trattini. La modalità compute è quella predefinita: fornisca esattamente diciassette caratteri di base; il motore restituisce check_digit come un solo carattere, curp come il codice completo di diciotto e length diciotto. La risposta riporta valid true solo quando la cifra finale coincide con expected_check_digit ricalcolato; include sempre base (i primi diciassette), check_digit come inviato, expected_check_digit e la curp canonica formata da base più la cifra attesa. Poiché il percorso è parse puro, senza orologio, aleatorietà o rete, lo stesso input produce sempre lo stesso JSON sullo strumento gratuito del browser e sull'API. A $0.002 per richiesta riuscita può proteggere import CRM massivi, audit di file partner e gate di moduli senza negoziare un livello dedicato.
Dove la cifra CURP si inserisce nei flussi di prodotto reali
I flussi di onboarding fintech e marketplace messicani chiedono presto la CURP; convalidare la cifra all'uscita del campo riduce invii falliti e ticket di supporto senza chiamare RENAPO a ogni battuta. I sistemi di paghe e HR importano CSV di dipendenti e devono mettere in quarantena le righe il cui diciottesimo carattere non coincide più, catturando sia modifiche umane sia bug dei generatori a monte. Non tratti una cifra corretta come prova che la persona esista nei sistemi RENAPO o che il documento sia attivo: dimostra solo che la stringa di diciotto caratteri è aritmeticamente ben formata secondo la regola ufficiale CURP, lo stesso criterio di onestà di qualsiasi strumento di checksum di identificativi nazionali. I portali sanitari e di iscrizione scolastica che accettano la CURP come chiave cittadina possono bloccare l'avanzamento finché valid non è true e mostrare expected_check_digit quando la cifra è errata. I job di qualità dati ricalcolano expected_check_digit per ogni colonna CURP di un export e segnalano i disallineamenti prima della fatturazione o del reporting fiscale.
Casi di integrazione
Completare diciassette caratteri base per fixture e moduli
Prenda una base di diciassette caratteri da un piano di test o da un record parziale, chiami la modalità compute e memorizzi o visualizzi la curp completa di diciotto con la cifra di controllo aggiunta.
Convalidare CURP digitate o importate all'ingresso
Quando un modulo di registrazione, un import CRM o un'API partner invia diciotto caratteri, chiami la modalità validate e blocchi lo storage se valid è false, mostrando expected_check_digit per correggere un errore di battitura.
Domande tecniche
Come calcola una cifra di controllo CURP con questa API?
Invii un POST con curp di esattamente diciassette caratteri e mode compute (o ometta mode). La risposta include check_digit e curp (il codice completo di diciotto caratteri).
Come convalida una CURP completa di diciotto caratteri?
Invii un POST con la stringa di diciotto caratteri e mode validate. La risposta include valid, check_digit, expected_check_digit, base e la curp canonica.