modulus10
IBMの研究者であるLuhnが開発した
使われている理由・動機
人間による入力ミス
どこで使われているの?
検証方法
0. チェックディジットを含む数字の列を用意する
1. 右端から偶数桁の数字をそれぞれ2倍する
2. 2倍した偶数桁目の数と奇数桁の数を足し合わせる
ここで、2倍した偶数桁の数が2桁になった場合はそれぞれ別の数として扱う
e.g. 前の過程で2 * 6 = 12となった場合は、1+2を行う
3. 2で足し合わせた数が10で割り切れる場合(=下一桁が0である場合)、正しい数であるといえる
参考