アドハー Verhoeffチェックディジット
Aadhaar番号の先頭11桁からVerhoeffのチェックディジットを求めるか、12桁の番号全体を確認します。2345 6789 012なら4が付き、2345 6789 0124になります。保存前に入力ミスが分かり、ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- アーダール番号
- 23456789012
- 計算モード
- Compute
- 入力
- 23456789012
- チェックディジット
- 4
- チェックディジット付き
- 234567890124
- 整形済み
- 2345 6789 0124
Aadhaarはインドの12桁の固有識別番号です。末尾の1桁は先頭11桁に対するVerhoeffチェックディジットであり、1桁の誤入力や隣接桁の入れ替えの多くを、フォーム保存や一括ファイル取込の前に検出できます。本機能は11桁の本体からそのチェックディジットを計算するか、チェックディジットを含む完全な12桁Aadhaarを検証し、文字を黙って削ったり番号を捏造したりせず、不正入力を報告します。一般的な表示形式XXXX XXXX XXXXの空白やハイフンは受け付けます。経路は純粋な算術であり、UIDAIへのネットワーク呼び出し、登録簿照会、人物の存在主張はありません。宿題、KYC事前チェック、ETLゲートが同一の決定的契約を共有できます。
AadhaarのVerhoeffチェックディジットとは何か、UIDAIが採用する理由
Aadhaar番号は12桁の文字列であり、最終桁は自由に選ばれません。先頭11桁にVerhoeffアルゴリズムを適用して生成されます。Verhoeffは位数10の二面体群で、固定の乗算・置換・逆元表を用います。
桁は右から左へ処理され、各桁は位置(法8)で置換されたのち、累積チェックサムと結合されます。チェックディジット生成時には中間チェックサムの逆元を付加し、完全な12桁番号を再評価すると常にチェックサム0になります。この性質により、1桁誤りのすべてと隣接転置のすべてが検出されます。
これらはフォーム入力とOCRで支配的な誤りパターンです。UIDAIは有効なAadhaarが0または1で始まらないことも要求し、本ツールはcomputeとvalidateの両経路でこれを強制し、合成や誤入力の接頭辞を早期に拒否します。
多くの決済カードで使うLuhnや別の準群検査であるDammと比べ、VerhoeffはAadhaar向けに選ばれた具体的な方式です。Aadhaar欄にLuhn検証を流用すると誤った安心感が生じます。本機能は公開された検査算術のみを実装します。
UIDAIに接続せず、居住を証明せず、人口統計を取得せず、番号が生存者に割当て済みだと主張しません。チェックサム通過は、桁列がVerhoeffと先頭桁規則に整合することを意味し、本人確認の成功を意味しません。
チェックディジットの計算、または12桁Aadhaarの検証手順
aadhaar欄に0から9の数字を送ります。2345 6789 0124のように空白やハイフンで区切っても構いません。mode computeが既定です。
チェックディジットなしのちょうど11桁(例:23456789012または2345 6789 012)を指定します。mode validateは末尾のチェックディジットを含む完全な12桁を期待します。
既知の11桁本体から組み立てるときはcomputeを、利用者・パートナーCSV・スキャンラベルが完全UIDを渡し、より深い本人確認フロー前に真偽ゲートが必要なときはvalidateを選んでください。
AadhaarチェックディジットがKYC・フォーム・データパイプラインで果たす役割
インドのオンボーディングやKYCフォームは連携やe-KYC引継ぎのためにAadhaarを集めることが多いです。顧客・従業員の一括取込では各行にvalidateを走らせ、チェックディジットが一致しなくなった番号を隔離でき、後の一括失敗で破損を発見するより安上がりです。
Aadhaarチェックディジット計算やVerhoeff Aadhaar検証で検索上位を狙うコンテンツサイトは、無料ブラウザ経路が有料自動化とバイト一致するライブツールの恩恵を受けます。どのワークフローでも契約は同じです。Verhoeff通過を本人確認・登録状態・生体一致・代理権限の証明と見なさないでください。
証明するのは、桁列がAadhaarのVerhoeffアルゴリズムとUIDAI先頭桁制約に整合することだけです。
活用例
パートナー・KYCファイルのAadhaar列を監査する
CSV取込の各Aadhaarを一括検証し、チェックディジットが再計算の期待値と一致しなくなった行を隔離します。
よくある質問
AadhaarのVerhoeffチェックディジットとは何ですか?
Aadhaar番号の12桁目であり、先頭11桁にVerhoeffの二面体アルゴリズムを適用して計算され、1桁誤りや隣接転置でチェックサムが崩れます。
先頭桁が2–9でなければならない理由は?
UIDAIのAadhaar番号は0や1で始まりません。本ツールはその規則に反する本体と完全番号を拒否し、構造的に不可能なUIDを受け入れないようにします。
Aadhaar Verhoeffチェックディジットツールの料金は?
ブラウザツールは無料です。不正入力は課金されません。有効なチェックサムは本人確認やUIDAI登録の証明ではありません。
チェックディジットが正しければ、その番号は実在する人のものですか?
そうとは限りません。確認は計算だけで行い、UIDAIへの問い合わせや登録情報の照会、居住の確認はしません。合格は12桁が検査の計算と先頭桁の決まりに合っているという意味で、本人確認ではありません。
Aadhaarのチェックディジットはどんな入力ミスを見つけますか?
1桁だけの間違いと、隣り合う2桁の入れ替わりをすべて見つけます。フォーム入力や読み取りで多い誤りです。多くの決済カードで使われるLuhn方式とは別の仕組みなので、代わりに使うと誤った安心につながります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/aadhaar-india \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"aadhaar":"23456789012"}'const res = await fetch("https://api.kit.forhosting.com/enc/aadhaar-india", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"aadhaar": "23456789012"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/aadhaar-india",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"aadhaar": "23456789012"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/aadhaar-india", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"aadhaar":"23456789012"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"aadhaar":"23456789012"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/aadhaar-india", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"aadhaar": "23456789012"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.aadhaar_india",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
数字以外や長さの誤りはinvalid_inputで失敗します。ブラウザでは無料で、公開価格のKIT APIでも利用でき、どちらも同じVerhoeff表を実行します。
チェックディジットの計算、または12桁Aadhaarの検証手順
エンジンは1文字のcheck_digit、12桁全体のwith_check、表示用のformatted(XXXX XXXX XXXX)を返します。応答は番号全体のVerhoeffチェックサムが0のときvalid trueとし(再計算したチェックディジットが末尾と一致する場合と同等)、常にcheck_digit、expected_check_digit、末尾を除いたpayload、formattedを含めます。空文字、aadhaar欠落、不正なmode、長さ誤り、先頭が0または1、数字以外は表参照完了前にinvalid_inputで失敗し、課金されません。経路は時計・乱数・ネットワークのない純粋parseのため、同じ入力は無料ブラウザとAPIで常に同じJSONになります。成功リクエストあたり$0.002で、オンボーディング、パートナー取込、内部生成器を独自ティア交渉なしにゲートできます。
AadhaarチェックディジットがKYC・フォーム・データパイプラインで果たす役割
ブラウザやAPIの縁でVerhoeff桁を検証すると、レコード書込み前および下流サービス呼び出し前に明らかな誤入力を止められます。OCRパイプラインの結合テストでは、整形後の12桁が検証に通るか、ノイズ残存時に明確なinvalid_inputで拒否されるかを断言できます。
連携の活用例
Web・モバイルフォームのAadhaar欄をゲートする
利用者が完全な12桁Aadhaarを送ったときはmode validateを呼び、validがfalseなら保存を止め、expected_check_digitを示して1桁の打ち間違いをレコード保存前に直せるようにします。
合成UIDや完成UIDのチェックディジットを計算する
2–9で始まる11桁本体からmode computeを呼び、with_checkまたはformattedを保存して、各テストfixtureと完成文字列が正しい末尾Verhoeff桁を持つようにします。
技術的な質問
このAPIでAadhaarチェックディジットを計算するには?
11桁のaadhaar(空白・ハイフン任意)とmode compute(またはmode省略)でPOSTします。応答にcheck_digit、with_check、XXXX XXXX XXXX形式のformattedが含まれます。
完全な12桁Aadhaarを検証するには?
12桁のaadhaarとmode validateでPOSTします。Verhoeffチェックサムが0のときvalidがtrueになり、比較用にexpected_check_digitも返ります。