算法种类4

   
 Luhn算法由IBM的Hans 彼得(Peter)Luhn发明,又称作“模10”算法,是一种简易的校验和算法,用来验证识别号,一般会被用于身份证号码,信用卡号、IMEI号、社会有限支撑号的辨证。它的算法不难,并只使用末段一位数字作为校验位,可以有效预防偶然的输入性错误。

 

   
Luhn算法只好用于不难的校验,不可以用来加密算法。Luhn算法可以检测到以下输入性错误:所有的单位数字错误,如
210撰写215;能检测到多数的临位错位,比如315写作351,可是唯有两位的景色下不可能检测,比如09写作90;可以检测双数字写错10种的7
种,比如11写为22,可是有3种不能检测,如22和55、33和66、44和77。
假使对校验有更高的渴求,可以考虑作用更强大,但也更复杂的Verhoeff算法。

 

 

LUHN算法的总结步骤:

1)  从卡号倒数一位数字伊始,偶数位乘以2,如果乘以2的结果是两位数,将几个位上数字相加保存。

 

例如:卡号:6
23 12 0000 00 00 00 00 11,(1+1+2)\2=8*

 

2)  将卡号中多余的数字和地方结果中的数字一向相加。

社会保险, 

6+3+2+1+8=20

 

3)  尽管信用卡号码是官方的,总和可以被10整除。

 

 文/闫鑫原创   转发请注解出处http://blog.csdn.net/yxstars/article/details/38444135

发表评论

电子邮件地址不会被公开。 必填项已用*标注