身份证校验码计算公式
18位身份证号码验证公式及标准

18位身份证号码验证工具
计算依据及说明
根据《中华人民共和国国家标准》(GB 11643-1999)规定:
公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。
排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
地址码(1-6位):表示编码对象常住户口所在县(市、旗、区)的行政区划代码
生日码(7-14位):表示编码对象出生的年、月、日,其中年份用四位数字表示,年、月、日之间不用分隔符。
例如:1981年05月11日就用19810511表示。
顺序码(15-17位):为同一地址码所标识的区域范围内,对同年、月、日出生的人员编定的顺序号。
其中奇数分给男性,偶数分给女性。
校验码(18位):是根据前面十七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码。
第十八位数字的计算方法为:
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。
5.通过上面得知,如果余数是2,就会在身份证的第18位数字上出现罗马数字的Ⅹ。
如果余数是10,身份证的最后一位号码就是2。
以上算法来源于网络,具体规范见国家相关标准。
Excel判断身份证号校验码

Excel判断身份证号校验码假设在一个工作表中:A列是姓名,B列是身份证号码,C列是备注。
在B列中输入18位身份证号码后,在C2单元格中输入计算数组公式:=RIGHT(B2,1)=MID("10X98765432",MOD(SUM(MID(B2,ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1) 然后再将该公式复制给C列其他单元格。
公式的计算结果是一个逻辑值,True表示校验正确,即计算出来的校验码与输入的相同,而False则表示校验错误。
值得注意的是,使用校验码进行校验判断为正确的身份证号码未必是正确的,但判断为错误的则肯定是错误的,即通过校验的只是身份证号码正确的必要条件而非充分条件。
当然,在实际输入中,身份证号码输入错误而校验正确的情况很少见。
在大多数情况下,使用校验码进行校验可以大大提高身份证号码输入的正确性。
RIGHT 根据所指定的字符数返回文本字符串中最后一个或多个字符。
MID 返回文本字符串中从指定位置开始的特定数目的字符,该数目由用户指定。
MOD 返回两数相除的余数。
SUM 返回某一单元格区域中所有数字之和。
ROW 返回引用的行号。
INDIRECT 返回由文本字符串指定的引用。
或者输入数组公式:=IF(LEN(B2)<>18,"错误",IF(MID("10X98765432",MOD(SUM(MID(B2,ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1)=MID(B2,18,1), "正确","错误"))。
身份证验证规则

⾝份证验证规则⾝份证解析规则: 1-6位:表⽰⾏政区划的代码。
1、2位,所在省(直辖市,⾃治区)代码; 3、4位,所在地级市(⾃治州)代码; 5、6位,所在区(县,⾃治县,县级市)的代码; 7-14位:表⽰出⽣年、⽉、⽇ 15-16位:所在地派出所代码 17位:性别。
奇数(1、3、5、7、9)男性,偶数(2、4、6、8、0)⼥性 18位:校验位,存在⼗⼀个值:0,1,2,3,4,5,6,7,8,9,X,其值是⽤固定公式根据前⾯⼗七位计算出来的。
18位验证算法如下: 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。
(即余数0对应1,余数1对应0,余数2对应X...) 5、通过上⾯得知如果余数是3,就会在⾝份证的第18位数字上出现的是9。
如果对应的数字是2,⾝份证的最后⼀位号码就是罗马数字x。
例如: 某男性的⾝份证号码为【530102************】,我们看看这个⾝份证是不是合法的⾝份证。
⾸先我们得出前17位的乘积和【(5*7)+(3*9)+(0*10)+(1*5)+(0*8)+(2*4)+(1*2)+(9*1)+(2*6)+(0*3)+(0*7)+(5*9)+(0*10)+(8*5)+(0*8)+(1*4)+ (1*2)】是189。
然后⽤189除以11得出的结果是189/11=17----2,也就是说其余数是2。
最后通过对应规则就可以知道余数2对应的检验码是X。
所以,可以判定这是⼀个正确的⾝份证号码。
身份证校验码的确定计算方法11111

身份证识别码的确定计算方法大陆的身份证为18位,老的身份证是15位。
眼下人们在换发的新身份证俗称为“二代身份证”或者叫“二代征”,老身份证叫“一代证”。
一代身份证是上世纪80年代中期开始的,是依据《中华人民共和国居民身份证条例》(1985年9月6日第六届全国人民代表大会常务委员会第十二次会议通过1985年9月6日中华人民共和国主席令第二十九号公布1985年9月6日起施行)制作颁发的,采用印刷和照相技术塑封而成,只能视读不能机读,易于伪造,而且无法迅捷有效地对公民进行人、证同一认定,不利于有效打击伪造、变造居民身份证以及利用伪造证件、他人证件进行金融犯罪、流窜作案等违法犯罪活动,严重制约了这一法定证件在证明和识别公民身份方面的作用的正常发挥。
“二代证”是依据《中华人民共和国居民身份证法》(2003年6月第十届全国人大常委会第三次会议通过了《居民身份证法》,于2004年1月1日起施行。
本法自2004年1月1日起施行,《中华人民共和国居民身份证条例》同时废止)制作颁发的。
“二代证”由多层聚酯材料复合而成的单页卡式证件,可以视读,内嵌非接触式IC卡芯片作为“机读”存储器,可以将变动信息(如住址变动)追加写入;芯片使用特定的逻辑加密算法,有利于证件制发、使用中的安全管理,增强防伪功能;芯片和电路线圈在证卡内封装,能够保证证件在各种环境下正常使用,寿命在十年以上;并且具有读写速度快,使用方便,易于保管,以及便于各用证部门使用计算机网络核查等优点。
二代证”主要采用数字防伪和印刷防伪技术。
数字防伪用于机读信息的防伪,是将持证人的照片图象和身份项目内容等数字化后存入芯片。
可以有效起到证件防伪的作用,防止伪造证件或篡改证件机读信息内容。
证件表面的视读防伪,主要是采用高新技术制作的防伪标识和印刷防伪技术,具有一定的防伪功效。
18位身份证标准在国家质量技术监督局于1999年7月1日实施的GB11643-1999《公民身份号码》中做了明确的规定。
第二代身份证编码规则原理剖析及相关代码

第二代身份证编码规则/原理剖析及相关代码18位身份证号码编码规则一、身份证号码执行标准:18位身份证标准在国家质量技术监督局于1999年7月1日实施的GB11643-1999《公民身份号码》。
GB11643-1999《公民身份号码》为GB11643-1989《社会保障号码》的修订版,其中指出将原标准名称“社会保障号码”更名为“公民身份号码”,另外GB11643-1999《公民身份号码》从实施之日起代替GB11643-1989。
二、编码规则:公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。
排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码,可以用字母表示如为ABCDEFYYYYMMDDXXXR。
其含义如下:1. 地址码(ABCDEF):表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按GB/T2260的规定执行。
2. 出生日期码(YYYYMMDD):表示编码对象出生的年、月、日,按GB/T7408的规定执行,年、月、日分别用4位、2位(不足两位加0)、2(同上)位数字表示,之间不用分隔符。
3. 顺序码(XXX):表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。
4.校验码(R),一位数字,通过前17位数字根据一定计算得出。
三、关于地址码含义的详细解释:身份证前六位是地区代码,我们用ABCDEF表示。
代码的解释规则如下:A:国内区域1 华北三省二市2 东北三省3 华东六省一市4 华南六省5 西南四省一市6 西北五省7 台湾8 港澳B(或者说是AB,就是前2位):省(直辖市,自治区,特别行政区)代码按照A划定的分区定义省代码,有直辖市的,直辖市列前,其余按离直辖市的距离排序,没有直辖市的,按离北京的远近排序。
具体省(直辖市,自治区,特别行政区)代码如下:11-15 京津冀晋蒙21-23 辽吉黑31-37 沪苏浙皖闽赣鲁41-46 豫鄂湘粤桂琼50-54 渝川贵云藏61-65 陕甘青宁新81-82 港澳CD:城市代码从01开始排,对于直辖市,CD=01表示市辖区,CD=02表示辖县;省的城市代码从省会开始排,比如2101=沈阳 2102=大连……只有地级城市有独立的城市代码,县级市没有。
身份证计算公式

身份证号码15位升18位身份证18位验证18位身份证标准在国家质量技术监督局于1999年7月1日实施的GB11643-1999《公民身份号码》中做了明确的规定。
GB11643-1999《公民身份号码》为GB11643-1989《社会保障号码》的修订版,其中指出将原标准名称"社会保障号码"更名为"公民身份号码",另外GB11643-1999《公民身份号码》从实施之日起代替GB11643-1989。
G B11643-1999《公民身份号码》主要内容如下:一、范围该标准规定了公民身份号码的编码对象、号码的结构和表现形式,使每个编码对象获得一个唯一的、不变的法定号码。
二、编码对象公民身份号码的编码对象是具有中华人民共和国国籍的公民。
三、号码的结构和表示形式1、号码的结构公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。
排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
2、地址码表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按GB/T2260的规定执行。
3、出生日期码表示编码对象出生的年、月、日,按G B/T7408的规定执行,年、月、日代码之间不用分隔符。
4、顺序码表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。
5、校验码(1)十七位数字本体码加权求和公式S= Sum(Ai * Wi), i =0, ... , 16 ,先对前17位数字的权求和Ai:表示第i位置上的身份证号码数字值Wi:表示第i位置上的加权因子Wi: 7 9 10 5 84 2 1 6 37 9 10 5 8 4 2(2)计算模Y = mo d(S,11) (3)通过模得到对应的校验码Y:0 1 2 3 45 6 7 8 910校验码: 1 0 X9 8 7 6 54 3 2四、举例如下:北京市朝阳区: 11010519491231002X广东省汕头市: 44052418800101001415位升18的方法根据〖中华人民共和国国家标准G B 11643-1999〗中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。
身份证数字校验码计算公式

身份证数字校验码计算公式在中国,每个人的身份证号码都是唯一的,其中包括了个人的基本信息和校验码。
校验码是身份证号码中的最后一位数字,它是根据身份证号码的前17位数字计算而得到的。
校验码的存在可以帮助验证身份证号码的有效性,防止错误或伪造的身份证号码的使用。
那么,身份证数字校验码是如何计算的呢?首先,我们需要了解身份证号码的结构。
中国的身份证号码共有18位数字,其中前17位是个人的基本信息,包括地区、出生年月日和顺序码,最后一位是校验码。
校验码的计算是通过对前17位数字进行一系列的运算得到的。
校验码的计算公式如下:1. 将身份证号码的前17位数字分别乘以对应的加权因子,然后将乘积相加。
2. 将上一步得到的结果除以11,得到余数。
3. 根据余数在一个预先设定的对照表中找到对应的校验码。
下面我们来详细解释一下这个计算公式。
首先,加权因子是一个固定的数组,分别为,7、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4、2。
这些数字分别对应身份证号码的前17位数字,用来进行加权计算。
接下来,我们将身份证号码的前17位数字分别乘以对应的加权因子,然后将乘积相加。
假设一个身份证号码的前17位数字分别为a1、a2、a3...a17,对应的加权因子分别为w1、w2、w3...w17,那么校验码的计算公式可以表示为:S = a1w1 + a2w2 + a3w3 + ... + a17w17。
其中S表示加权计算的结果。
然后,我们将S除以11,得到余数M。
余数M的取值范围为0到10。
最后,我们根据余数M在一个对照表中找到对应的校验码。
对照表如下:0,1。
1,0。
2,X。
3,9。
4,8。
5,7。
6,6。
7,5。
8,4。
9,3。
10,2。
根据上述对照表,我们可以找到对应余数M的校验码。
通过以上的计算公式,我们可以得到身份证号码的校验码。
这个计算过程可以帮助我们验证身份证号码的有效性,防止错误或伪造的身份证号码的使用。
18位身份证号码校验位规则

18位⾝份证号码校验位规则根据〖中华⼈民共和国国家标准 GB 11643-1999〗中有关公民⾝份号码的规定,公民⾝份号码是特征组合码,由⼗七位数字本体码和⼀位数字校验码组成。
排列顺序从左⾄右依次为:六位数字地址码,⼋位数字出⽣⽇期码,三位数字顺序码和⼀位数字校验码。
地址码表⽰编码对象常住户⼝所在县(市、旗、区)的⾏政区划代码。
⽣⽇期码表⽰编码对象出⽣的年、⽉、⽇,其中年份⽤四位数字表⽰,年、⽉、⽇之间不⽤分隔符。
顺序码表⽰同⼀地址码所标识的区域范围内,对同年、⽉、⽇出⽣的⼈员编定的顺序号。
顺序码的奇数分给男性,偶数分给⼥性。
校验码是根据前⾯⼗七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码。
下⾯举例说明该计算⽅法。
15位的⾝份证编码⾸先把出⽣年扩展为4位,简单的就是增加⼀个19,但是这对于1900年出⽣的⼈不使⽤(这样的寿星不多了)某男性公民⾝份号码本体码为34052419800101001,⾸先按照公式⑴计算:∑(ai×Wi)(mod 11) (1)公式(1)中:i----表⽰号码字符从右⾄左包括校验码在内的位置序号;ai----表⽰第i位置上的号码字符值;Wi----⽰第i位置上的加权因⼦,其数值依据公式Wi=2(n-1)(mod 11)计算得出。
i 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1ai 3 4 0 5 2 4 1 9 8 0 0 1 0 1 0 0 1 a1Wi 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 1ai×Wi 21 36 0 25 16 16 2 9 48 0 0 9 0 5 0 0 2 a1根据公式(1)进⾏计算:∑(ai×Wi) =(21+36+0+25+16+16+2+9+48++0+0+9+0+5+0+0+2) = 189189 ÷ 11 = 17 + 2/11∑(ai×Wi)(mod 11) = 2然后根据计算的结果,从下⾯的表中查出相应的校验码,其中X表⽰计算结果为10:∑(ai×WI)(mod 11) 0 1 2 3 4 5 6 7 8 9 10校验码字符值ai 1 0 X 9 8 7 6 5 4 3 2根据上表,查出计算结果为2的校验码为所以该⼈员的公民⾝份号码应该为 340524************。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
身份证校验码计算公式
校验码是识别一个身份证号码是否真实存在的重要的依据。
那我们要如何通过校验码来判断一个身份证号码是否真实的呢?校验码如何判断身份证号码真伪呢?我们来看看具体计划过程。
第一步:将身份证号码的第1位数字与7相乘;将身份证号码的第2位数字与9相乘;将身份证号码的第3位数字与10相乘;将身份证号码的第4位数字与5相乘;将身份证号码的第5位数字与8相乘;将身份证号码的第6位数字与4相乘;将身份证号码的第7位数字与2相乘;将身份证号码的第8位数字与1相乘;将身份证号码的第9位数字与6相乘;将身份证号码的第10位数字与3相乘;将身份证号码的第11位数字与7相乘;将身份证号码的第12位数字与9相乘;将身份证号码的第13位数字与10相乘;将身份证号码的第14位数字与5相乘;将身份证号码的第15位数字与8相乘;将身份证号码的第16位数字与4相乘;将身份证号码的第17位数字与2相乘。
第二步:将第一步身份证号码1~17位相乘的结果求和,全部加起来。
第三步:用第二步计算出来的结果除以11,这样就会出现余数为0,余数为1,余数为2,余数为3,余数为4,余数为5,余数为6,余数为7,余数为8,余数为9,余数为10共11种可能性。
第四步:如果余数为0,那对应的最后一位身份证的号码为1;如果余数为1,那对应的最后一位身份证的号码为0;如果余数为2,那对应的最后一位身份证的号码为X;如果余数为3,那对应的最后一位身份证的号码为9;如果余数为4,那对应的最后一位身份证的号码为8;如果余数为5,那对应的最后一位身份证的号码为7;如果余数为6,那对应的最后一位身份证的号码为6;如果余数为7,那对应的最后一位身份证的号码为5;如果余数为8,那对应的最后一位身份证的号码为4;如果余数为9,那对应的最后一位身份证的号码为3;如果余数为10,那对应的最后一位身份证的号码为2。