ISO 7064 mod-11 チェックディジット
079のISO 7064 MOD 11-2チェック文字は4で、コードは0794になります。計算結果が10のときはXと書くので、どの値も印字できる1文字で表せます。チェック文字付きのコードの検証もでき、ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 数
- 079
- 計算モード
- Compute
- 入力
- 079
- チェックディジット
- 4
- チェックディジット付き
- 0794
長い口座コード、登録番号、社内識別子は打ち間違いが起きやすいものです。ISO 7064 の純粋系 MOD 11-2 は末尾に 1 文字の検査文字を付け、誤った桁や壊れた末尾が標準的な合同演算の走査で検証に失敗するようにします。単純な mod-10 方式と異なり、基数 2・法 11 を使い、値 10 を文字 X で表すため、すべての合法な剰余に印字可能な文字があります。どちらもネットワークも番号の保存もない同一の純粋算術です。
ISO 7064 MOD 11-2 とは何か、なぜ X が出るか
ISO/IEC 7064 は、コンパクトで相互運用可能な末尾記号を必要とする規格向けに、純粋系とハイブリッド系の検査文字方式を定義します。純粋系 MOD 11-2 は、入力を左から右へ、p を 2 倍した値に現在の桁値を足して法 11 で取る漸化式で走査します。
0 から 9 は数字として印字され、値 10 は文字 X として印字されるため、レジストリや帳票では数値コードの末尾に X が付くことがあります。これは Luhn や Damm の独自変形ではなく、公開された純粋 MOD 11-2 構成であり、法 11 が 11 記号を必要とし、ラテン文字 X が 10 の慣例的な代替であるために選ばれます。
EAN や UPC などのバーコード系検査桁と比べ、MOD 11-2 は小売 GTIN レイアウトに縛られません。Damm アルゴリズムと比べ、準群表ではなく合同算術を使い、数字のみの末尾ではなく X を出し得ます。古典的な ISBN-10 の重み付き和と比べ、純粋系は位置依存の 10 から下の重みではなく固定基数で左から右に処理します。
検査通過は認可や所有の証明ではなく、この規則の下で文字列が整形式であることの証明にすぎません。
mod-11 検査桁が実システムに合う場面
すでに ISO 7064 風の識別子を公開している国家・業界レジストリは、時折の X を含む末尾文字の発行と検査に共通のオラクルが必要です。10 より強い法が欲しい会員・ロイヤルティプログラムは、私的なアルファベットを発明せずに MOD 11-2 を付けられます。
倉庫・物流チームは、1 桁の誤入力がスキャン時に失敗し、誤ったビンへ在庫が流れないよう、カートンや資産コードを印刷します。複数桁の参照番号付き紙帳票をまだ扱う医療・教育窓口は、入口で検証し、入力末尾が一致しないときに期待される検査文字を示せます。
統合テストとデータ品質ジョブは CSV エクスポートの各行で期待検査文字を再計算し、保存済み完全値が一致しなくなった行をフラグし、人手の編集と生成器の off-by-one バグの両方を捉えます。どのワークフローでも契約は同じです。
同じ列で Luhn・Damm・MOD 11-2 を気づかず混ぜないよう、番号の横にどのアルゴリズムを保存したかを文書化してください。
活用例
エクスポートした ID 列を監査する
パートナー CSV や倉庫エクスポート内の数値または X 付き ID を一括検証し、検査文字が再計算した期待値と一致しない行を隔離します。
よくある質問
ISO 7064 mod-11 チェックディジットとは何ですか?
ISO/IEC 7064 純粋系 MOD 11-2 の末尾 1 文字です。0-9 の数字、または 10 を表す X で、左から右の合同走査が剰余 1 で終わるように選びます。
文字・空白・ハイフンはどうなりますか?
0-9 の数字のみを指定してください。末尾 X は validate モードで検査文字としてのみ許可されます。失敗タスクは課金されません。
mod-11 チェックディジットツールは無料ですか?
ブラウザツールは無料でローカル実行です。無効入力は課金されません。
mod-11のチェック文字がXになることがあるのはなぜですか?
11で割った余りには11種類の記号が必要だからです。0から9は数字で、10は文字Xで表します。そのため末尾がXの登録番号があり、Xは最後の1文字としてだけ使えます。
MOD 11-2のチェック文字はどう求めますか?
左から順に、それまでの値に次の数字を足して2倍し、11で割った余りを残します。チェック文字は、全体を計算し終えたときに余りが1になる値です。079の場合は4です。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/mod11 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":"079"}'const res = await fetch("https://api.kit.forhosting.com/enc/mod11", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": "079"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/mod11",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": "079"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/mod11", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":"079"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":"079"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/mod11", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"number": "079"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.mod11",
"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 を呼び出してください。
ISO 7064 MOD 11-2 とは何か、なぜ X が出るか
ペイロード処理後、検査文字は 0 から 10 のうち、全体走査が剰余 1 で終わる一意の値です。本ツールはその標準走査を実装し、JSON では常にアルゴリズム名を iso7064-mod11-2 として返すため、下流系がどの方式で値を保護したかを記録できます。ご自身が管理する純粋な数字ペイロードに使ってください。
検査文字の計算と完全値の検証の手順
compute が既定です。validate モードは少なくとも 2 文字の完全値を期待します。空文字、欠落した number、不正な mode、末尾以外の X は走査完了前に失敗し、課金されません。新規 ID の発行には compute を、ユーザー・パートナーファイル・スキャンしたラベルから受け取った ID の照会前ゲートには validate を選んでください。compute モードでは number フィールドに 0 から 9 の文字だけを送ってください。空白、ハイフン、validate モードでの末尾 X 以外の文字、小数点、指数表記は非数値として invalid_input で拒否され、黙って切り詰められた値を受け入れません。エンジンはペイロードを MOD 11-2 の漸化式で走査し、check_digit を 1 文字の文字列(数字または X)として、with_check をペイロードとその文字の連結として返します。これで 1 本の文字列として保存・印刷できます。1 桁以上のペイロード数字に加え、末尾の検査文字が数字または X です。応答は完全走査が中間値 1 で終わるとき valid を真とし、末尾の check_digit、ペイロードのみから再計算した expected_check_digit、末尾を除いた payload 部分文字列を常に含みます。この形なら、フォームで「入力は X、期待は Y」を 2 回目の呼び出しなしで示せます。時計・乱数・ネットワークのない純粋 parse のため、同じ入力は無料ブラウザと API で常に同じ JSON になります。成功リクエストあたり $0.002 で、一括取込、オンボーディングフォーム、ラベルのバッチ印刷を、個別ティア交渉なしで保護できます。
mod-11 検査桁が実システムに合う場面
カード風フィールドに Luhn、内部の数字のみ ID に Damm を既に使う製品チームでも、パートナー仕様や歴史的スキーマが要求するなら X ケースを含む MOD 11-2 を採用できます。
連携の活用例
ISO 7064 検査文字付き ID を発行する
連番または乱数の数字ペイロードを生成し、compute モードを呼び、with_check を保存すれば、印刷やメールの前に新しい ID すべてが MOD 11-2 末尾文字(数字または X)を持ちます。
入力時に手入力・スキャンコードを検証する
ユーザーやスキャナが完全値を送ったとき validate モードを呼び、valid が偽なら照会を止め、expected_check_digit を示して 1 文字の打ち間違い修正を助けます。
技術的な質問
この API で mod-11 チェックディジットを計算するには?
number にペイロード数字、mode に compute(省略可)を指定して POST します。応答に check_digit(0-9 または X)と with_check(ペイロード+検査文字)が含まれます。
すでに検査文字がある番号を検証するには?
完全な文字列(数字+末尾 0-9 または X)と mode validate で POST します。応答に valid、check_digit、expected_check_digit、末尾を除いた payload が含まれます。