メキシコCURPチェックディジット
HEGG560427MVZRRL0を入力するとチェックディジットは4で、CURP全体はHEGG560427MVZRRL04になります。18文字を貼り付ければ、最後の数字が合っているかも確かめられます。給与や学校、銀行の登録に便利で、ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- CURP (個人登録番号)
- HEGG560427MVZRRL0
- 計算モード
- Compute
- 入力
- HEGG560427MVZRRL0
- チェックディジット
- 4
- CURP (個人登録番号)
- HEGG560427MVZRRL04
メキシコのCURP(Clave Única de Registro de Población)は、銀行・給与・医療・学校・行政手続きで使われる18文字の個人識別子です。17文字が氏名・生年月日・性別・州・ホモクラーベを符号化し、18文字目は固定の値表から導かれるチェックディジットで、一文字の打ち間違いや多くの改変文字列が別の有効登録のように見えないようにします。本機能は純粋な17文字の基幹からそのチェックディジットを計算するか、完全な18文字CURPを検証し、保存された桁が再計算値と一致するかを報告します。どちらもネットワークも生存者名簿も使わない同一の純算術です。
メキシコCURPチェックディジットの計算方法
CURPは句読点なしで書くと常に18個の英数字です。先頭17文字が基幹キー、18文字目が検証桁(dígito verificador)です。各文字は公式辞書順で0から36の整数に対応します。
数字0から9、続いて字母AからN、次いでÑ、さらにOからZです。位置i(0から16)ごとに文字値に重み(18−i)を掛け、先頭は17、17文字目は1の重みになります。積を合計し、合計を10で割った余りを取り、チェックディジットは10からその余りを引いた値です。
余りが既に0のときは0になります(10から引くと10になる場合と同等)。検証はその逆で、先頭17文字から桁を再計算し、末尾文字(それ自体が10進数字である必要があります)と比較します。アルゴリズムは固定表付きの整数合同演算なので、同じ17文字はブラウザ・Worker・オフライン試験ハーネスなどどの環境でも同じチェックディジットを返します。
そのため本機能はモデル呼び出しではなくティアAのparseエンジンとして提供されます。*ツールのmod-97方式と区別できるようにしています。
CURPチェックディジットが合う実際の製品フロー
メキシコのフィンテックやマーケットプレイスのオンボーディングは早期にCURPを求めます。フォーカス離脱時にチェックディジットを検証すれば、キー入力ごとにRENAPOを呼ばずとも送信失敗とサポート票を減らせます。給与・人事システムは従業員CSVを取り込み、18文字目が一致しなくなった行を隔離すべきです。
人手編集と上流生成器のオフバイワンの両方を捕捉します。どのフローでも契約は同じです。チェックディジット合格をRENAPO上の実在や文書の有効の証明とみなさないでください。
それは18文字列が公式CURP規則の下で算術的に整形式であることの証明にすぎず、各国IDチェックサムツールと同じ誠実さの基準です。
活用例
フィクスチャとフォーム用に基幹17文字を完成させる
テスト計画や部分レコードから17文字の基幹を取り、computeモードを呼び出して、チェックディジット付きの完全な18文字curpを保存または表示します。
一括エクスポートのCURP列を監査する
給与CSVやERP抽出の各CURPをバッチ検証し、チェックディジットが再計算値と一致しなくなった行を隔離します。
よくある質問
メキシコCURPのチェックディジットとは何ですか?
CURPの18文字目で、先頭17文字から公式の値表0–36と重み18から2で計算されます。一文字の打ち間違いや多くの改変文字列が、別の登録のように見えるより失敗しやすくなります。
空白・ハイフン・長さ不正はどうなりますか?
失敗した検証タスクは課金されません。呼び出し前にクライアントで書式を除いてください。
メキシコCURPチェックディジットツールは無料ですか?
ブラウザツールは無料でローカル実行です。無効入力は課金されません。
CURPの最初の17文字は何を表していますか?
本人の名前、生年月日、性別、州をもとに作られ、その後にホモクラベが続きます。18文字目だけがチェックディジットで、この17文字から計算されます。
計算でÑの文字が大切なのはなぜですか?
各文字には公式の順で0から36の値が割り当てられます。数字の0〜9、AからN、次にÑ、そしてOからZの順です。Ñを抜かすと、それより後の文字の値がすべてずれてしまいます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
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)リクエスト例
{
"curp": "HEGG560427MVZRRL0"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.curp_mexico",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
CURP以外の文字・不正な長さ・空入力は明確なinvalid_inputで拒否されます。ブラウザで無料実行するかKIT APIを呼び出してください。
チェックディジットの計算と完全CURPの検証手順
curp欄には字母A–Z、字母Ñ、数字0から9のみを送ってください。利用者が空白やハイフン付き文字列を貼り付けた場合はクライアント側で整形を除いてください。modeの既定はcomputeです。mode validateはちょうど18文字を期待します。空文字・curp欠落・不正なmode・長さ16や19などは加重和の前に失敗し、課金されません。テストやフィクスチャ用に部分キーを埋めるときはcomputeを、フォーム・CSV・スキャナから完全CURPを受けて保存前に真偽が必要なときはvalidateを選んでください。空白・ハイフン・ピリオドなど他の句読点は非CURP入力としてinvalid_inputで拒否され、フォームが静かに整形した値を受け取らないようにします。基幹17文字ちょうどを渡すと、エンジンは1文字のcheck_digit、18文字のcurp、lengthの18を返します。応答のvalidがtrueになるのは末尾桁が再計算したexpected_check_digitと一致するときだけです。常にbase(先頭17文字)、送信どおりのcheck_digit、expected_check_digit、baseと期待桁から成る正規curpを含めます。この形により、KYCや登録UIで「入力はX、期待はY」を追加リクエストなしで示せます。時計・乱数・ネットワークのない純parseのため、無料ブラウザツールとAPIで同じ入力は常に同じJSONになります。成功リクエストあたり$0.002で、大量CRM取込・提携ファイル監査・フォームゲートを専用ティア交渉なしに守れます。
CURPチェックディジットが合う実際の製品フロー
市民キーとしてCURPを受け付ける医療・就学ポータルは、validがtrueになるまで進みを止め、桁が誤っていればexpected_check_digitを示せます。データ品質ジョブはエクスポートの各CURP列でexpected_check_digitを再計算し、請求や税務報告の前に不一致を印します。
連携の活用例
入力時に手入力・取込CURPを検証する
登録フォーム・CRM取込・提携APIが18文字を送ったらvalidateモードを呼び、validがfalseのときは保存を止め、打ち間違い修正のためにexpected_check_digitを示します。
技術的な質問
このAPIでCURPチェックディジットを計算するには?
ちょうど17文字のcurpとmode compute(またはmode省略)でPOSTします。応答にはcheck_digitとcurp(完全な18文字コード)が含まれます。
完全な18文字CURPを検証するには?
18文字の文字列とmode validateでPOSTします。応答にはvalid、check_digit、expected_check_digit、base、正規curpが含まれます。