Atitit 身份证与银行卡校验规则

Atitit 身份证与银行卡校验规则

 

 

1.1. 银行卡校验规则(Luhn算法) 1

1.2. 银行卡校验规则(Luhn算法) 1

1.3. 份证校验码的计算方法 2

1.4. 香港eg:***A123456 3

1.5. 台湾 eg:A123456789计算方法: 3

2. Ati发明的检验算法 4

2.1. 各位相加,和的余数 为第一位小燕值。。即可简单实用。。 4

2.2. 各位相减去加上9,余数作为第二位小燕数 4

 

 

1.1. 银行卡校验规则(Luhn算法)

 

 

当你输入信用卡号码的时候,有没有担心输错了而造成损失呢?其实可以不必这么担心,因为并不是一个随便的信用卡号码都是合法的,它必须通过Luhn算法来验证通过。

该校验的过程:

1、从卡号最后一位数字开始,逆向将奇数位(1、3、5等等)相加。

2、从卡号最后一位数字开始,逆向将偶数位数字,先乘以2(如果乘积为两位数,则将其减去9),再求和。

3、将奇数位总和加上偶数位总和,结果应该可以被10整除。

1.2. 银行卡校验规则(Luhn算法)

Luhn
检验数字算法(Luhn Check Digit Algorithm),也叫做模数10公式,是一种简单的算法,用于验证银行卡、信用卡号码的有效性的算法。对所有大型信用卡公司发行的信用卡都起作用,这些公司包括美国Express、护照、万事达卡、Discover和用餐者俱乐部等。这种算法最初是在20世纪60年代由一组数学家制定,现在Luhn检验数字算法属于大众,任何人都可以使用它。

算法:将每个奇数加倍和使它变为单个的数字,如果必要的话通过减去9和在每个偶数上加上这些值。如果此卡要有效,那么,结果必须是10的倍数。

 

Luhn 算法或是Luhn 公式,也被称作“模10算法”。它是一种简单的校验公式,一般会被用于身份证号码,IMEI号码,美国供应商识别号码,或是加拿大的社会保险号码的验证。该算法是由IBM的科学家Hans Peter Luhn所创造,于195416日提出该专利的申请,并于1960823日被授予,在美国的专利号为2950048

 

优点和缺点

Luhn 算法会检测到任何单码的错误以及几乎所有的相邻数字换位的错误。但是它不会检测两个数字序列0990的错误(反之亦然)。它会检测到十分之七的相同双位数错误(不会检测到2255的互换,3366的互换,4477的互换)。其他更复杂的检查数字算法,如费尔赫夫算法,可以检测出更多的转录错误。模NLuhn算法是Luhn算法的一个扩展,支持非数字字符串。因为该算法采取了从右向左的方式,而且零位会影响计算的结果。只有当零位造成了数位的移动或是用零来填充一串数字的开头时才不会影响计算结果的生成。因此不论在将1234用零填充为0001234之前或是之后,使用Luhn算法得到的结果都是一样的。

该算法在美国专利上是为了给手持或是机械设备计算校验码。所以它必须尽可能的简单。

 

 

 

1.3. 份证校验码的计算方法

1、将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。

2、将这17位数字和系数相乘的结果相加。

3、用加出来和除以11,看余数是多少?

4、余数只可能有0-1-2-3-4-5-6-7-8-9-10这11个数字。其分别对应的最后一位身份证的号码为1-0-X -9-8-7-6-5-4-3-2。

1.4. 香港eg:***A123456

括弧内的为校验码,用来校验前面的数字是否正确,可能为数字或者字母A

 

计算方法

由前7位确定,首位字母改为数字代表,即A1代表,B2代表...Z26代表,可以得到8个数字,之后第一个数字乘以8,第二个数字乘以7,依此类推,第七个数字乘以2

再将以上所有乘积相加,得到一个数,再将这个数除以11,得到余数。如果整除,校验码为0,如果余数为1,则校验码为A,如果余数为210,则用11减去这个余数,则为校验码。

 

 

1.5. 台湾 eg:A123456789计算方法

把前9码所代表的数字列出来,再乘以他的加权数(我记得是10~1) 接下来全部加起来,然后总和以10去除,取余数之后以10来减那个余数之后得到的那个数字再以10去除取余数之后那个数字就是最后一个判别码; 

第十位数字——验证码的计算规则为: 字母(ABCDEFGHJKLMNPQRSTUVXYWZIO)对应一组数(10——35)。 令其十位数为X1,个位数为X2D2D9分别代表身份证号码的第二至第九位数。

 Y=X1+9×X2+8×D2+7×D3+6×D4+5×D5+4×D6+3×D7+2×D8+1×D9 Y的值除以10。得出的余数结果。 再用10来减去这个余数结果。就得出身份证上的最后一位数字。 例如R123456783R=25

2. Ati发明的检验算法

2.1. 各位相加,和的余数 为第一位小燕值。。即可简单实用。。

2.2. 各位相减去加上9,余数作为第二位小燕数

假酒的目的是消去负号。。

 

可以防止意外一位数字错误。。相邻的数字错误颠倒。。

 

参考

 

港澳台身份证校验规则和计算方法 - u014663362的专栏 - CSDN博客.mhtml

 

作者:: 绰号:老哇的爪子claw of Eagle 偶像破坏者Iconoclast image-smasher

捕鸟王"Bird Catcher  kok  虔诚者Pious 宗教信仰捍卫者 Defender Of the Faith. 卡拉卡拉红斗篷 Caracalla red cloak 万兽之王  纵火者

简称:: Emir Attilax Akbar 埃米尔 阿提拉克斯 阿克巴

全名::Emir Attilax Akbar bin Mahmud bin  attila bin Solomon bin adam Al Rapanui 埃米尔 阿提拉克斯 阿克巴 本 马哈茂德 本 阿提拉 本 所罗门 本亚当  阿尔 拉帕努伊

常用名:艾提拉(艾龙),  EMAIL:1466519819@qq.com

 

 

头衔:uke总部o2o负责人,全球网格化项目创始人,

uke交友协会会长  uke捕猎协会会长 Emir Uke部落首席大酋长,

 

 

uke宗教与文化融合事务部部长,  uke制度与重大会议委员会委员长,uke保安部首席大队长,uke制度检查委员会副会长, uke机车协会主任 uke纹身协会

 

 uec学院校长, uecip图像处理机器视觉专业系主任   uke文档检索专业系主任

Uke图像处理与机器视觉学院首席院长

Uke 户外运动协会理事长  度假村首席大村长   uke出版社编辑总编

 

 

UTSC uke技术标准化委员会委员长 uke 首席cto   软件部门总监 技术部副总监  研发部门总监主管  产品部副经理 项目部副经理   uke科技研究院院长 uke软件培训大师

 

uke波利尼西亚区大区连锁负责人 汤加王国区域负责人 uke克尔格伦群岛区连锁负责人,莱恩群岛区连锁负责人,uke布维岛和南乔治亚和南桑威奇群岛大区连锁负责人

 Uke软件标准化协会理事长理事长 Uke 数据库与存储标准化协会副会长

 

uke终身教育学校副校长   Uke医院 与医学院方面的创始人

直达巴士西北区负责人   直达巴士长沙与西安分部部长

润昌通讯软件事业部总裁 执行长 分部负责人  执行委员会主席

 

转载请注明来源:attilax的专栏  http://blog.csdn.net/attilax

http://www.cnblogs.com/attilax/

Microblog

http://weibo.com/u/5941179815   (common attilax)

https://weibo.com/p/1005055941179815  attilax201707,bek weibo

http://weibo.com/u/5487832265 (tech,for blog auto gene)

Qq 1466519819  小号112237553

 微信attilax  小号attilax201708

 

 

 

--Atiend  v14

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值