【ちぇっくでぃじっと】

チェックディジット とは?

💡 数字コードの「検算用の末尾数字」、入力ミスを自動的に検出する
📌 このページのポイント
チェックディジットの仕組み 例:ISBN-10のチェックディジット 4 8 0 0 6 1 5 6 1 2 データ部分(9桁) 検査用 計算式で検査数字を算出 末尾の数字と一致すればOK ✓ 一致 → 入力ミスなし ✗ 不一致 → 入力ミスの可能性 クレジットカード番号、マイナンバーなどにも使われる
チェックディジット:末尾の数字で入力ミスを検出
ひよこ ひよこ

チェックディジットって何?

ペンギン先生 ペンギン先生

コードの末尾に付いている「検算用の1桁」だよ。クレジットカード番号の最後の数字がそれ。番号を入力するとシステムが計算して「この末尾数字は正しいか」を確認して入力ミスを検出できる。

ひよこ ひよこ

どうやって計算するの?

ペンギン先生 ペンギン先生

クレジットカードはLuhnアルゴリズムを使う。簡単に言うと、全桁に交互に重みをかけて足し算し、10で割った余りが0になるようにチェックディジットを決める。これで1桁のタイプミスや隣り合う2桁の入れ替えが検出できる。

ひよこ ひよこ

バーコードにも使ってるの?

ペンギン先生 ペンギン先生

JANコード(スーパーのバーコード)の最後の1桁がチェックディジット。スキャナで読み取った後に自動で検証するから、バーコードの読み取りミスを検出できる。本のISBNも同様の仕組みだよ。

ひよこ ひよこ

チェックディジットがあれば入力ミスは完全に防げるの?

ペンギン先生 ペンギン先生

「検出」はできるけど「修正」まではできないのが一般的なチェックディジットだよ。また隣接する2桁の入れ替え(13→31)は検出できるけど、特殊なパターンのミスは見逃すこともある。実はクレジットカード番号のLuhnアルゴリズムは1950年代にIBMのハンス・ルーンが考案したもので、70年以上経った今でも現役なんだ。マイナンバーにもチェックディジットが使われていて、こちらは「モジュラス11」という方式で、Luhnより高い検出率を持っているよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
チェックディジットって出てきたら「コード末尾の検算用数字、入力ミスを自動的に検出するための仕組み」と思えばOK!
📖 おまけ:英語の意味
「Check Digit」 = チェック用の桁数字
💬 クレジットカードのLuhnアルゴリズムは1954年にHans Peter Luhnが考案。レジのバーコードスキャンで品番を高精度に検証するために広まった
← 用語集にもどる