ISO 7064 mod 97-10 チェックディジット
123456のISO 7064 MOD 97-10チェック数字は76で、コードは12345676になります。IBANのチェック数字を守るのと同じ2桁の規則を、英字と数字からなるあらゆるコードに使えます。検証もでき、ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- テキスト
- 123456
- 計算モード
- Compute
- 入力
- 123456
- チェックディジット
- 76
- チェックディジット付き
- 12345676
長い口座参照番号、支払い識別子、倉庫コードは誤入力しやすく、1文字の誤りだけで金銭や商品が誤った宛先へ送られることがあります。ISO 7064 MOD 97-10 チェックディジット方式は十進2桁を末尾に付与し、ほぼすべての1文字誤りと多くの転置誤りでチェックサムが破綻するようにします。モジュラー演算の前に文字は A が10から Z が35へ写像され、IBAN 系やその他の MOD 97-10 コードで使われるハイブリッド文字集合と一致します。どちらの経路も同じ純算術で、ネットワークも保存された秘密も使いません。
ISO 7064 MOD 97-10 とは何か、なぜ2桁が重要か
チェックディジットが存在する理由は、人・キーボード・OCR・手書き転記が予測可能な損傷を与えるからです。1文字の誤り、隣り合う記号の入れ替え、桁の脱落や挿入です。ISO 7064 は複数のモジュラー検査方式を定義しており、MOD 97-10 は0から9の数字アルファベットから検査文字を2個生成する純粋方式(および英数字ハイブリッド)です。
実務では文字 A から Z を10から35の2桁値へ写像し、展開後の文字列を十進の大きな整数として扱い、検査2桁を含めたときその整数が97を法として1と合同であることを要求します。検査桁を発行するには一時的に00を末尾に付け、97を法とした余りを取り、検査値を98からその余りを引いた値とし、常に01から98の2桁で書きます。
この構成はまさに国際銀行口座番号が国コード直後の2桁検査に内部で使うものであり、同じ数学が SEPA 関連参照、一部の国内債権者識別子、残差分布の強さから MOD 97-10 を選んだ内部コードを守ります。検査2桁は素数97の法を与え、人が実際に起こす誤入力パターンに対して単一の法10桁よりはるかに良い残差被覆を提供します。
Damm や Luhn のような1桁方式と比べ、ドメインが既に ISO 7064 や IBAN 系規則を文書化し、1桁ではなく十進2桁の検査が必要な場合に MOD 97-10 が適切な選択です。
実システムにおける MOD 97-10 検査桁の位置づけ
会員・ロイヤルティプログラムは英数字 ID を発行し、コールセンター担当者やモバイルキーボードが静かに壊さない末尾2桁を望みます。倉庫・物流チームはカートンや資産コードを印刷し、携帯端末経路での2桁転置はよく起き、法97は単一の法10桁より多くの誤りを捕捉します。
複数文字の参照番号を紙帳票で動かす医療・教育事務は、入力時に検証して即座に訂正を示し、重複したカルテや登録を避けられます。結合テストとデータ品質ジョブは CSV エクスポートの各行について期待検査桁を再計算し、保存された完全コードが一致しない行をフラグし、人手編集と生成器の off-by-one の両方を捕捉します。どのワークフローでも契約は同じです。
MOD 97-10 の合格を認可・所有権・ある国の実在銀行口座であることの証明と見なさないでください。このアルゴリズムの下で文字列が整形式であることだけを示し、任意のチェックサムに適用する同じ誠実さの基準です。
活用例
エクスポートしたコード列の監査
パートナー CSV や倉庫エクスポートの各英数字参照を一括検証し、検査桁が再計算した期待値と一致しない行を隔離します。
よくある質問
ISO 7064 mod 97-10 チェックディジットとは何ですか?
法97で計算する十進2桁の検査で、英数字コードのほぼあらゆる1文字誤りで完全文字列の検証が失敗します。
空白・ハイフン・その他の記号はどうなりますか?
A-Z と 0-9 のみを指定してください。失敗した検証タスクは課金されません。
2桁のチェック数字はどう計算しますか?
コードの末尾に0を2つ付け、九十七で割った余りを求め、九十八からその余りを引いた値を必ず2桁で書きます。123456の場合は76になります。
IBAN全体の検証にも使えますか?
計算の中心部分だけです。IBANの完全な検証では、国コードとチェック数字を末尾に移し、国ごとの桁数も確かめますが、このツールはそこまでは行いません。共通のMOD 97-10の計算を担います。
英字はどのように扱われますか?
計算の前に、各英字を2桁の数に置き換えます。Aは10、Zは三十五です。大文字と小文字は区別しません。そのうえでコード全体を十進数の大きな数として読みます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/mod97 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"123456"}'const res = await fetch("https://api.kit.forhosting.com/enc/mod97", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "123456"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/mod97",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "123456"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/mod97", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"123456"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"123456"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/mod97", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "123456"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.mod97",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
本機能は、既にお持ちの英数字ペイロードに対してその2桁を計算するか、既に2桁を含む完全な文字列を検証し、英数字以外の入力は黙って除去せず明確なエラーで拒否します。ブラウザで無料実行するか、公開価格で KIT API を呼び出してください。
ISO 7064 MOD 97-10 とは何か、なぜ2桁が重要か
本ツールはその標準走査を反復剰余で実装し、長いコードでも JavaScript の数値を溢れさせず、アルゴリズムを常に iso7064_mod97_10 とラベル付けして下流が保護方式を記録できるようにします。
検査桁の計算と完全コードの検証方法
大文字小文字は無視され、エンジンは写像前に大文字化します。mode の既定は compute です。末尾の2文字は十進数字でなければならず、文字であればモジュラー走査の前に失敗します。空文字・text 欠落・不正な mode は算術の前に失敗し、課金されません。新規コード発行には compute、利用者・パートナーファイル・スキャンラベルから受け取ったコードを照会前に真偽ゲートするなら validate を選んでください。完全な IBAN 検証は国と検査位置の並べ替えと国別長テーブルも行う点に注意してください。本機能は共有の MOD 97-10 コアであり、国別 IBAN 形式の完全チェッカーではありません。A から Z と0から9の文字だけを含む text フィールドを送ってください。空白・ハイフン・句読点・その他の記号は非英数字入力として invalid_input で拒否され、黙って除去された値を受け入れることがありません。エンジンはペイロードを写像し、00を付与し、97を法として縮約し、check_digits を2文字の文字列として返し、with_check をペイロードとその2桁の連結として返すので、1本の文字列として保存・印刷できます。mode validate は少なくとも3文字の完全文字列(ペイロード1文字以上と末尾検査2桁)を期待します。写像後の完全整数が97を法として1と合同のとき valid は true となり、常に末尾 check_digits、ペイロードのみから再計算した expected_check_digits、末尾2文字を除いた payload 部分文字列を含みます。この形により、2回目の呼び出しなしでフォーム上に「入力は X、期待は Y」と示せます。時計・乱数・ネットワークのない純パース経路のため、同じ入力は無料ブラウザと API で常に同じ JSON を返します。成功リクエスト1件あたり $0.002 で、一括取込・オンボーディングフォーム・バッチラベル印刷を、特別プラン交渉なしで保護できます。
実システムにおける MOD 97-10 検査桁の位置づけ
IBAN フィールドと並んで内部支払参照を作る財務・決済チームは、完全な銀行ライブラリを引かずに同じ2桁検査規則が必要です。カード様フィールドで既に Luhn を使う製品チームでも、ドメイン標準やパートナー契約が ISO 7064 を既に指定する内部識別子には MOD 97-10 を採用できます。
連携の活用例
保護付き口座・参照コードの発行
英数字ペイロードを生成し、compute モードを呼び出し、with_check を保存して、印刷やメール前にすべての新規コードに ISO 7064 mod 97-10 の末尾桁を付けます。
入力時に手入力・スキャンコードを検証
利用者やスキャナが完全コードを送ったら validate モードを呼び、valid が false のとき照会を止め、expected_check_digits を示して誤入力の修正を助けます。
技術的な質問
この API で mod 97-10 検査桁を計算するには?
text にペイロード(A-Z, 0-9)を入れ mode compute(または mode 省略)で POST します。応答に check_digits と with_check(ペイロード+2桁)が含まれます。
既に検査桁があるコードを検証するには?
完全な英数字文字列と mode validate で POST します。応答に valid、check_digits、expected_check_digits、末尾2文字を除いた payload が含まれます。
mod 97-10 チェックディジットツールは無料ですか?
ブラウザツールは無料でローカル実行されます。API 呼び出しは公開基本価格 $0.002 の前払い KIT 残高を使い、無効入力は課金されません。