LUHN Formula
読み:ルーン-フォーミュラ
外語:LUHN Formula

 クレジットカードチェックサム計算などに使われているアルゴリズムのこと。モジュラス10に分類されるアルゴリズムに属する。
目次

特徴
 クレジットカード番号は最後の桁がチェックサムなので、サムを求めるためには、それ以外の桁を計算に用いる(16桁なら、最初の15桁を使う)。

正当性の判断
 基本的なロジックは、サム桁を含めて一番右の桁(最後の桁)から見て奇数桁はそのまま足し、偶数桁は二倍にし、その結果を一つずつ足す(18なら1と8を足す)。そして算出結果の10の剰余が0であれば、番号は正当だと判断する。
 

チェックサムの算出
 正当確認ではなく数桁の数字文字列よりチェックサムを計算したい場合も同様で、サム桁は0であるとして計算し、結果xにnを足すと10の剰余が0になる値nを求めれば良い。つまり10から結果xの10の剰余を引いた結果の10の剰余を求めることになる。
 

再検索