用模10算法校验Code25

Luhn算法(Luhn algorithm),也称为“模10”(Mod 10)算法

modulus 10 算法会通过校验码对一串数字进行验证,校验码通常会被加到这串数字的末尾处,从而得到一个完整的身份识别码。

我们以数字“2445839”为例,计算其校验位:

[list]
[1]从校验位开始,从右往左,偶数位乘3(例如,9*3=27)
[2]把得到的数字加在一起(本例中得到81);
[3]将数字的和取模10(本例中得到1),再用10去减(本例中得到9),得到校验位。
[4]由于Code25必需是偶数位,如果是基数位,那么要在在前面加'0'。因为0乘以任何数都是0,所以不会影响校验码的生成
[/list]

例子:
[table]
|位子|8|7|6|5|4|3|2|1
|Code25码|2|4|4|5|8|3|9|x
|偶数位乘3|3|1|3|1|3|1|3|x
|将数字相加|6+|4+|12+|5+|24+|3+|27+|=81
[/table]
将数字的和取模10(本例中得到1),再用10去减(本例中得到9),得到校验位。

最后得到Code25: 24458399

如果是基数位,例如244589,那么就要在数字前面加'0',得到0244589
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值