| ア | イ | ウ | エ | オ |
| カ | キ | ク | ケ | コ |
| サ | シ | ス | セ | ソ |
| タ | チ | ツ | テ | ト |
| ナ | ニ | ヌ | ネ | ノ |
| ハ | ヒ | フ | ヘ | ホ |
| マ | ミ | ム | メ | モ |
| ヤ | ユ | ヨ | ||
| ラ | リ | ル | レ | ロ |
| ワ | ヰ | ヴ | ヱ | ヲ |
| ン |
| A | B | C | D | E |
| F | G | H | I | J |
| K | L | M | N | O |
| P | Q | R | S | T |
| U | V | W | X | Y |
| Z | 数字 | 記号 | ||
クレジットカードのチェックサム計算などに使われているアルゴリズムのこと。モジュラス10に分類されるアルゴリズムに属する。
クレジットカード番号は最後の桁がチェックサムなので、サムを求めるためには、それ以外の桁を計算に用いる(16桁なら、最初の15桁を使う)。
基本的なロジックは、サム桁を含めて一番右の桁(最後の桁)から見て奇数桁はそのまま足し、偶数桁は二倍にし、その結果を一つずつ足す(18なら1と8を足す)。そして算出結果の10の剰余が0であれば、番号は正当だと判断する。
validm10.c (チェックサムが正当かを確認するサンプル C言語版)
正当確認ではなく数桁の数字文字列よりチェックサムを計算したい場合も同様で、サム桁は0であるとして計算し、結果xにnを足すと10の剰余が0になる値nを求めれば良い。つまり10から結果xの10の剰余を引いた結果の10の剰余を求めることになる。
getm10.c (チェックサム桁を算出するサンプル C言語版)
コメントなどを投稿するフォームは、日本語対応時のみ表示されます