この計算でわかること
番号を入力すると、末尾に付けるべき検査用の数字が出ます。
実際に計算すると
初期入力では。 番号 7,992,739,871.
詳しく見ると:
- 検査の合計: 67
- 桁数: 10
初期値での計算例
7992739871の場合、チェックディジットは3。検査の合計67と次の10の倍数70との差が答えです。
何を防ぐための仕組みか
番号の打ち間違いを機械的に見つけるためのもので、送信する前に誤りをはじくことができます。
検出できる誤りの範囲
1桁の誤りはすべて、隣り合う数字の入れ替わりも大半を見つけることができます。
計算の手順 右から1つおきに2倍し、2桁になったら各桁を足します。全体の合計を10の倍数にする数が答えです。
クレジットカード番号で使われています
入力欄でその場に誤りが出るのは、送信せずにこの検査を通しているためです。
有効な番号とは限りません
検査を通っても、実在する口座やカードであることを意味するものではありません。
他の分野でも使われます 会員番号や商品コードなど、人が手で入力する番号には広く採用されています。
桁数は問いません
10桁でも16桁でも同じ手順で計算でき、長さによる制限はありません。
安全性のための仕組みではありません
誰でも計算できるため、偽造を防ぐ働きはまったくありません。
見落とされがちな前提
検査に通れば実在すると考える、安全性の仕組みと誤解する、桁数で使い分ける、この三つです。右から1つおきに2倍し、2桁になったらそれぞれの桁を足したうえで、全体の合計を10の倍数にする数字が答えになります。1桁の誤りはすべて検出でき、隣り合う数字が入れ替わった場合も大半を見つけることができます。カード番号の入力欄でその場に誤りが表示されるのは、送信する前にこの検査を通しているためです。検査を通ったとしても、その番号が実在する口座やカードであることを意味するものではありません。会員番号や商品コードなど、人が手で入力する番号には広く採用されている仕組みになっています。桁数による制限はなく、10桁でも16桁でも同じ手順でチェックディジットを計算することができます。誰でも計算できる方式であるため、偽造を防ぐような安全性の働きはまったく持っていません。紙の書類から番号を書き写す作業では、この検査があるだけで問い合わせの手間が大きく減ります。似た仕組みは書籍の番号や口座番号にもあり、桁の重みづけが異なる方式も使われています。入力を受け付ける画面を作る場合は、この検査を通してから通信するほうが利用者の負担が軽くなります。検査で誤りが見つかったときは、どの桁が違うかまでは特定できないため、番号全体を確認し直します。電話口で番号を伝える場面でも、末尾の1桁が合っているかどうかで聞き間違いに気づけます。