根据《中国银联2.0》标准 - Q/CUP 002-2004 提供的算法
Luhn计算模10“隔位2倍加”校验数的公式
计算步骤如下:
步骤1:从右边第1个数字(低序)开始每隔一位乘以 2 。
步骤2:把在步骤1中获得的乘积的各位数字与原号码中未乘2的各位数字相加。
步骤3:从邻近的较高的一个以0结尾的数中减去步骤2中所得到的总和
[这相当于求这个总和的低位数字(个位数)的“ 10的补数 ”],
如果在步骤2得到的总和是以零结尾的数(如30、40等等),则校验数字就是零。
[例]:
无校验数的卡号655002 0001 00000328 步骤
6 5 5 0 0 2