生活中有时需要在网站、应用程序、小程序中输入身份证号码,不小心输入错了的时候会提示输入正确的证件号码,系统如何判断?难道攻破了官方数据库系统?看完这篇文章你就会明白的~ ~ ~
2004年1月1日,第二代居民身份证开始交换,第一代居民身份证于2013年1月1日正式退出。
第一代身份证是15位数字,第二代身份证是18位数字。我们今天主要来看二代身份证的编码规则及应用。一、身份证号码的结构
420984 19970109 601 3
公民身份号码是特征组合码,由前十七位数字本体码和最后一位数字校验码组成。排列顺序从左至右依次为六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
地址码:表示编码对象常住户口所在县(市、旗、区)的行政区划代码。对于新生儿,该地址码为户口登记地行政区划代码。需要说明的是,随着行政区划的调整,同一个地方进行户口登记的可能存在地址码不一致的情况。行政区划代码按GB/T2260的规定执行。
出生日期码:表示编码对象出生的年、月、日,年、月、日代码之间不用分隔符,格式为YYYYMMDD,如19970109。按GB/T 7408的规定执行。
顺序码:表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。
校验码:根据本体码,通过采用ISO 7064:1983,MOD 11-2校验码系统计算出校验码。算法可参考下文。前面有提到数字校验码,我们知道校验码也有X的,实质上为罗马字符X,相当于10。
二、校验码算法
将本体码各位数字乘以对应加权因子并求和,除以11得到余数,根据余数通过校验码对照表查得校验码。
加权因子:
校验码:
算法举例:
本体码为:42098419970109601
第一步:各位数与对应加权因子乘积求和4*7+2*9+0*10+9*5+8*8+4*4+1*2+9*1+9*6+7*3+0*7+1*9+0*10+9*5+6*8+0*4+1*2=361
第二步:对求和进行除11得余数361/11=32余9
第三步:根据余数9对照校验码得3
因此完整身份证号为:420984199701096013
这个算法就可以用来判断你输入的身份证号码是否正确。
1.《15开头的身份证是哪里的?我来告诉你答案你知道身份证号码18位数字的含义吗?我们一起get。》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《15开头的身份证是哪里的?我来告诉你答案你知道身份证号码18位数字的含义吗?我们一起get。》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/fangchan/1955421.html