第18位身份证号计算办器

合集下载

15位身份证号码转18位算法

15位身份证号码转18位算法

15位⾝份证号码转18位算法⾝份证号码15位升18位⾝份证18位验证18位⾝份证标准在国家质量技术监督局于1999年7⽉1⽇实施的GB11643-1999《公民⾝份号码》中做了明确的规定。

GB11643-1999《公民⾝份号码》为GB11643-1989《社会保障号码》的修订版,其中指出将原标准名称"社会保障号码"更名为"公民⾝份号码",另外GB11643-1999《公民⾝份号码》从实施之⽇起代替GB11643-1989。

GB11643-1999《公民⾝份号码》主要内容如下:⼀、范围该标准规定了公民⾝份号码的编码对象、号码的结构和表现形式,使每个编码对象获得⼀个唯⼀的、不变的法定号码。

⼆、编码对象公民⾝份号码的编码对象是具有中华⼈民共和国国籍的公民。

三、号码的结构和表⽰形式1、号码的结构公民⾝份号码是特征组合码,由⼗七位数字本体码和⼀位校验码组成。

排列顺序从左⾄右依次为:六位数字地址码,⼋位数字出⽣⽇期码,三位数字顺序码和⼀位数字校验码。

2、地址码表⽰编码对象常住户⼝所在县(市、旗、区)的⾏政区划代码,按GB/T2260的规定执⾏。

3、出⽣⽇期码表⽰编码对象出⽣的年、⽉、⽇,按GB/T7408的规定执⾏,年、⽉、⽇代码之间不⽤分隔符。

4、顺序码表⽰在同⼀地址码所标识的区域范围内,对同年、同⽉、同⽇出⽣的⼈编定的顺序号,顺序码的奇数分配给男性,偶数分配给⼥性。

5、校验码(1)⼗七位数字本体码加权求和公式S = Sum(Ai * Wi), i = 0, ... , 16 ,先对前17位数字的权求和Ai:表⽰第i位置上的⾝份证号码数字值Wi:表⽰第i位置上的加权因⼦Wi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2(2)计算模Y = mod(S, 11)(3)通过模得到对应的校验码Y: 0 1 2 3 4 5 6 7 8 9 10校验码: 1 0 X 9 8 7 6 5 4 3 2四、举例如下:北京市朝阳区: 110105************⼴东省汕头市: 44052418800101001415位升18的⽅法根据〖中华⼈民共和国国家标准 GB 11643-1999〗中有关公民⾝份号码的规定,公民⾝份号码是特征组合码,由⼗七位数字本体码和⼀位数字校验码组成。

万能身份证号(UniversalIDnumber)

万能身份证号(UniversalIDnumber)

万能身份证号(Universal ID number)十一万零一百零二兆一千九百七十六亿一千零一万七千一百四十八十一万零一百零二兆一千九百七十六亿一千零一万七千一百六十四十一万零一百零二兆一千九百七十六亿一千零一万七千一百八十十一万零一百零二兆一千九百七十六亿一千零一万七千二百零一十一万零一百零二兆一千九百七十六亿一千零一万七千二百二十八十一万零一百零二兆一千九百七十六亿一千零一万七千二百四十四十一万零一百零二兆一千九百七十六亿一千零一万七千二百六十三十二万零一百兆一千九百八十五亿零六百零二万零七百九十四三十二万零一百兆一千九百八十五亿零六百零二万零八百一十五三十二万零一百兆一千九百八十五亿零六百零二万零八百三十一三十二万零一百兆一千九百八十五亿零六百零二万零八百五十八三十二万零一百兆一千九百八十五亿零六百零二万零八百七十四三十二万零一百兆一千九百八十五亿零六百零二万零八百九十三十二万零一百兆一千九百八十五亿零六百零二万零九百一十一三十二万零一百兆一千九百八十五亿零六百零二万零九百三十八三十二万零一百兆一千九百八十五亿零六百零二万零九百五十四三十二万零一百兆一千九百八十五亿零六百零二万零九百七十三十二万零一百兆一千九百八十五亿零六百零二万零九百九十七三十二万零一百兆一千九百八十五亿零六百零二万一千零一十七三十二万零一百兆一千九百八十五亿零六百零二万一千零三十三******************三十二万零一百兆一千九百八十五亿零六百零二万一千零七十六三十二万零一百兆一千九百八十五亿零六百零二万一千零九十二三十二万零一百兆一千九百八十五亿零六百零二万一千一百一十三******************三十二万零一百兆一千九百八十五亿零六百零二万一千一百五十六三十二万零一百兆一千九百八十五亿零六百零二万一千一百七十二三十二万零一百兆一千九百八十五亿零六百零二万一千一百九十九******************三十二万零一百兆一千九百八十五亿零六百零二万一千二百三十六三十二万零一百兆一千九百八十五亿零六百零二万一千二百五十二三十二万零一百兆一千九百八十五亿零六百零二万一千二百七十九三十二万零一百兆一千九百八十五亿零六百零二万一千二百九十五三十二万零一百兆一千九百八十五亿零六百零二万一千三百一十六三十二万零一百兆一千九百八十五亿零六百零二万一千三百三十二三十二万零一百兆一千九百八十五亿零六百零二万一千三百五十九三十二万零一百兆一千九百八十五亿零六百零二万一千三百七十五三十二万零一百兆一千九百八十五亿零六百零二万一千三百九十一三十二万零一百兆一千九百八十五亿零六百零二万一千四百一十二三十二万零一百兆一千九百八十五亿零六百零二万一千四百三十九三十二万零一百兆一千九百八十五亿零六百零二万一千四百五十五三十二万零一百兆一千九百八十五亿零六百零二万一千四百七十一三十二万零一百兆一千九百八十五亿零六百零二万一千四百九十八三十二万零一百兆一千九百八十五亿零六百零二万一千五百一十九三十二万零一百兆一千九百八十五亿零六百零二万一千五百三十五三十二万零一百兆一千九百八十五亿零六百零二万一千五百五十一三十二万零一百兆一千九百八十五亿零六百零二万一千五百七十八三十二万零一百兆一千九百八十五亿零六百零二万一千五百九十四三十二万零一百兆一千九百八十五亿零六百零二万一千六百一十五三十二万零一百兆一千九百八十五亿零六百零二万一千六百三十一三十二万零一百兆一千九百八十五亿零六百零二万一千六百五十八三十二万零一百兆一千九百八十五亿零六百零二万一千六百七十四三十二万零一百兆一千九百八十五亿零六百零二万一千六百九十三十二万零一百兆一千九百八十五亿零六百零二万一千七百一十一三十二万零一百兆一千九百八十五亿零六百零二万一千七百三十八三十二万零一百兆一千九百八十五亿零六百零二万一千七百五十四三十二万零一百兆一千九百八十五亿零六百零二万一千七百七十三十二万零一百兆一千九百八十五亿零六百零二万一千七百九十七三十二万零一百兆一千九百八十五亿零六百零二万一千八百一十八三十二万零一百兆一千九百八十五亿零六百零二万一千八百三十四三十二万零一百兆一千九百八十五亿零六百零二万一千八百五十三十二万零一百兆一千九百八十五亿零六百零二万一千八百七十七三十二万零一百兆一千九百八十五亿零六百零二万一千八百九十三三十二万零一百兆一千九百八十五亿零六百零二万一千九百一十四三十二万零一百兆一千九百八十五亿零六百零二万一千九百三十三十二万零一百兆一千九百八十五亿零六百零二万一千九百五十七三十二万零一百兆一千九百八十五亿零六百零二万一千九百七十三************************************三十二万零一百兆一千九百八十五亿零六百零二万二千零三十六三十二万零一百兆一千九百八十五亿零六百零二万二千零五十二三十二万零一百兆一千九百八十五亿零六百零二万二千零七十九三十二万零一百兆一千九百八十五亿零六百零二万二千零九十五三十二万零一百兆一千九百八十五亿零六百零二万二千一百一十六三十二万零一百兆一千九百八十五亿零六百零二万二千一百三十二三十二万零一百兆一千九百八十五亿零六百零二万二千一百五十九三十二万零一百兆一千九百八十五亿零六百零二万二千一百七十五三十二万零一百兆一千九百八十五亿零六百零二万二千一百九十一三十二万零一百兆一千九百八十五亿零六百零二万二千二百一十二三十二万零一百兆一千九百八十五亿零六百零二万二千二百三十九三十二万零一百兆一千九百八十五亿零六百零二万二千二百五十五三十二万零一百兆一千九百八十五亿零六百零二万二千二百七十一三十二万零一百兆一千九百八十五亿零六百零二万二千二百九十八三十二万零一百兆一千九百八十五亿零六百零二万二千三百一十九三十二万零一百兆一千九百八十五亿零六百零二万二千三百三十五三十二万零一百兆一千九百八十五亿零六百零二万二千三百五十一三十二万零一百兆一千九百八十五亿零六百零二万二千三百七十八三十二万零一百兆一千九百八十五亿零六百零二万二千三百九十四三十二万零一百兆一千九百八十五亿零六百零二万二千四百一十五三十二万零一百兆一千九百八十五亿零六百零二万二千四百三十一三十二万零一百兆一千九百八十五亿零六百零二万二千四百五十八三十二万零一百兆一千九百八十五亿零六百零二万二千四百七十四三十二万零一百兆一千九百八十五亿零六百零二万二千四百九十三十二万零一百兆一千九百八十五亿零六百零二万二千五百一十一三十二万零一百兆一千九百八十五亿零六百零二万二千五百三十八三十二万零一百兆一千九百八十五亿零六百零二万二千五百五十四三十二万零一百兆一千九百八十五亿零六百零二万二千五百七十三十二万零一百兆一千九百八十五亿零六百零二万二千五百九十七三十二万零一百兆一千九百八十五亿零六百零二万二千六百一十八三十二万零一百兆一千九百八十五亿零六百零二万二千六百三十四三十二万零一百兆一千九百八十五亿零六百零二万二千六百五十三十二万零一百兆一千九百八十五亿零六百零二万二千六百七十七三十二万零一百兆一千九百八十五亿零六百零二万二千六百九十三三十二万零一百兆一千九百八十五亿零六百零二万二千七百一十四三十二万零一百兆一千九百八十五亿零六百零二万二千七百三十三十二万零一百兆一千九百八十五亿零六百零二万二千七百五十七三十二万零一百兆一千九百八十五亿零六百零二万二千七百七十三******************三十二万零一百兆一千九百八十五亿零六百零二万二千八百一十三十二万零一百兆一千九百八十五亿零六百零二万二千八百三十七三十二万零一百兆一千九百八十五亿零六百零二万二千八百五十三******************三十二万零一百兆一千九百八十五亿零六百零二万二千八百九十六三十二万零一百兆一千九百八十五亿零六百零二万二千九百一十七三十二万零一百兆一千九百八十五亿零六百零二万二千九百三十三******************三十二万零一百兆一千九百八十五亿零六百零二万二千九百七十六三十二万零一百兆一千九百八十五亿零六百零二万二千九百九十二三十二万零一百兆一千九百八十五亿零六百零二万三千零一十二三十二万零一百兆一千九百八十五亿零六百零二万三千零三十九三十二万零一百兆一千九百八十五亿零六百零二万三千零五十五三十二万零一百兆一千九百八十五亿零六百零二万三千零七十一三十二万零一百兆一千九百八十五亿零六百零二万三千零九十八三十二万零一百兆一千九百八十五亿零六百零二万三千一百一十九三十二万零一百兆一千九百八十五亿零六百零二万三千一百三十五三十二万零一百兆一千九百八十五亿零六百零二万三千一百五十一三十二万零一百兆一千九百八十五亿零六百零二万三千一百七十八三十二万零一百兆一千九百八十五亿零六百零二万三千一百九十四三十二万零一百兆一千九百八十五亿零六百零二万三千二百一十五三十二万零一百兆一千九百八十五亿零六百零二万三千二百三十一三十二万零一百兆一千九百八十五亿零六百零二万三千二百五十八三十二万零一百兆一千九百八十五亿零六百零二万三千二百七十四三十二万零一百兆一千九百八十五亿零六百零二万三千二百九十三十二万零一百兆一千九百八十五亿零六百零二万三千三百一十一三十二万零一百兆一千九百八十五亿零六百零二万三千三百三十八三十二万零一百兆一千九百八十五亿零六百零二万三千三百五十四三十二万零一百兆一千九百八十五亿零六百零二万三千三百七十三十二万零一百兆一千九百八十五亿零六百零二万三千三百九十七三十二万零一百兆一千九百八十五亿零六百零二万三千四百一十八三十二万零一百兆一千九百八十五亿零六百零二万三千四百三十四三十二万零一百兆一千九百八十五亿零六百零二万三千四百五十三十二万零一百兆一千九百八十五亿零六百零二万三千四百七十七三十二万零一百兆一千九百八十五亿零六百零二万三千四百九十三三十二万零一百兆一千九百八十五亿零六百零二万三千五百一十四三十二万零一百兆一千九百八十五亿零六百零二万三千五百三十三十二万零一百兆一千九百八十五亿零六百零二万三千五百五十七三十二万零一百兆一千九百八十五亿零六百零二万三千五百七十三******************三十二万零一百兆一千九百八十五亿零六百零二万三千六百一十三十二万零一百兆一千九百八十五亿零六百零二万三千六百三十七三十二万零一百兆一千九百八十五亿零六百零二万三千六百五十三******************三十二万零一百兆一千九百八十五亿零六百零二万三千六百九十六三十二万零一百兆一千九百八十五亿零六百零二万三千七百一十七三十二万零一百兆一千九百八十五亿零六百零二万三千七百三十三******************三十二万零一百兆一千九百八十五亿零六百零二万三千七百七十六三十二万零一百兆一千九百八十五亿零六百零二万三千七百九十二三十二万零一百兆一千九百八十五亿零六百零二万三千八百一十三******************三十二万零一百兆一千九百八十五亿零六百零二万三千八百五十六三十二万零一百兆一千九百八十五亿零六百零二万三千八百七十二三十二万零一百兆一千九百八十五亿零六百零二万三千八百九十九******************三十二万零一百兆一千九百八十五亿零六百零二万三千九百三十六三十二万零一百兆一千九百八十五亿零六百零二万三千九百五十二三十二万零一百兆一千九百八十五亿零六百零二万三千九百七十九三十二万零一百兆一千九百八十五亿零六百零二万三千九百九十五三十二万零一百兆一千九百八十五亿零六百零二万四千零一十五三十二万零一百兆一千九百八十五亿零六百零二万四千零三十一三十二万零一百兆一千九百八十五亿零六百零二万四千零七十四三十二万零一百兆一千九百八十五亿零六百零二万四千零九十三十二万零一百兆一千九百八十五亿零六百零二万四千一百一十一三十二万零一百兆一千九百八十五亿零六百零二万四千一百三十八三十二万零一百兆一千九百八十五亿零六百零二万四千一百五十四三十二万零一百兆一千九百八十五亿零六百零二万四千一百七十三十二万零一百兆一千九百八十五亿零六百零二万四千一百九十七三十二万零一百兆一千九百八十五亿零六百零二万四千二百一十八三十二万零一百兆一千九百八十五亿零六百零二万四千二百三十四三十二万零一百兆一千九百八十五亿零六百零二万四千二百五十三十二万零一百兆一千九百八十五亿零六百零二万四千二百七十七三十二万零一百兆一千九百八十五亿零六百零二万四千二百九十三三十二万零一百兆一千九百八十五亿零六百零二万四千三百一十四三十二万零一百兆一千九百八十五亿零六百零二万四千三百三十三十二万零一百兆一千九百八十五亿零六百零二万四千三百五十七三十二万零一百兆一千九百八十五亿零六百零二万四千三百七十三******************三十二万零一百兆一千九百八十五亿零六百零二万四千四百一十三十二万零一百兆一千九百八十五亿零六百零二万四千四百三十七三十二万零一百兆一千九百八十五亿零六百零二万四千四百五十三******************三十二万零一百兆一千九百八十五亿零六百零二万四千四百九十六三十二万零一百兆一千九百八十五亿零六百零二万四千五百一十七三十二万零一百兆一千九百八十五亿零六百零二万四千五百三十三******************三十二万零一百兆一千九百八十五亿零六百零二万四千五百七十六三十二万零一百兆一千九百八十五亿零六百零二万四千五百九十二三十二万零一百兆一千九百八十五亿零六百零二万四千六百一十三******************三十二万零一百兆一千九百八十五亿零六百零二万四千六百五十六三十二万零一百兆一千九百八十五亿零六百零二万四千六百九十九******************三十二万零一百兆一千九百八十五亿零六百零二万四千七百三十六三十二万零一百兆一千九百八十五亿零六百零二万四千七百五十二三十二万零一百兆一千九百八十五亿零六百零二万四千七百七十九三十二万零一百兆一千九百八十五亿零六百零二万四千七百九十五三十二万零一百兆一千九百八十五亿零六百零二万四千八百一十六三十二万零一百兆一千九百八十五亿零六百零二万四千八百三十二三十二万零一百兆一千九百八十五亿零六百零二万四千八百五十九三十二万零一百兆一千九百八十五亿零六百零二万四千八百七十五三十二万零一百兆一千九百八十五亿零六百零二万四千八百九十一三十二万零一百兆一千九百八十五亿零六百零二万四千九百一十二三十二万零一百兆一千九百八十五亿零六百零二万四千九百三十九三十二万零一百兆一千九百八十五亿零六百零二万四千九百五十五三十二万零一百兆一千九百八十五亿零六百零二万四千九百七十一三十二万零一百兆一千九百八十五亿零六百零二万四千九百九十八三十二万零一百兆一千九百八十五亿零六百零二万五千零一十八三十二万零一百兆一千九百八十五亿零六百零二万五千零三十四三十二万零一百兆一千九百八十五亿零六百零二万五千零五十三十二万零一百兆一千九百八十五亿零六百零二万五千零七十七三十二万零一百兆一千九百八十五亿零六百零二万五千零九十三三十二万零一百兆一千九百八十五亿零六百零二万五千一百一十四三十二万零一百兆一千九百八十五亿零六百零二万五千一百三十三十二万零一百兆一千九百八十五亿零六百零二万五千一百五十七三十二万零一百兆一千九百八十五亿零六百零二万五千一百七十三******************三十二万零一百兆一千九百八十五亿零六百零二万五千二百一十三十二万零一百兆一千九百八十五亿零六百零二万五千二百三十七。

身份证升位(15位转18位)与校验

身份证升位(15位转18位)与校验

下载地址: http://x.co/3XmRP (最后五个字符区分大小写) (360安全卫士会拦截,不要理它,忽略警告,继续访问)
生日
区县
根据前17位生成校验码 6
19981002 福建省漳州市平和县
19981002 福建省漳州市平和县
6
备注 B2升位/F2校验为数组公式 <Shift>+<Ctrl>+<Enter> 结束输入 B2升位/F3校验为数组公式 <Shift>+<Ctrl>+<Enter> 结束输入
phszczcc360安全卫士会拦截不要理它忽略警告继续访问代码区县110000北京市110100北京市市辖区110101北京市东城区110102北京市西城区110103北京市崇文区110104北京市宣武区110105北京市朝阳区110106北京市丰台区110107北京市石景山区110108北京市海淀区110109北京市门头沟区110111北京市房山区110112北京市通州区110113北京市顺义区110200北京市县110221北京市昌平县110224北京市大兴县110226北京市平谷县110227北京市怀柔县110228北京市密云县110229北京市延庆县120000天津市120100天津市市辖区120101天津市和平区120102天津市河东区120103天津市河西区120104天津市南开区120105天津市河北区120106天津市红桥区120107天津市塘沽区120108天津市汉沽区120109天津市大港区120110天津市东丽区120111天津市西青区120112天津市津南区120113天津市北辰区120200天津市县120221天津市宁河县120222天津市武清县120223天津市静海县120224天津市宝坻县120225天津市蓟县130000河北省130100河北省石家庄市130101河北省石家庄市市辖区130102河北省石家庄市长安区130103河北省石家庄市桥东区130104河北省石家庄市桥西区130105河北省石家庄市新华区130106河北省石家庄市郊区130107河北省石家庄市井陉矿区130121河北省石家庄市井陉县130123河北省石家庄市正定县130124河北省石家庄市栾城县130125河北省石家庄市行唐县130126河北省石家庄市灵寿县130127河北省石家庄市高邑县130128河北省石家庄市深泽县130129河北省石家庄市赞皇县130130河北省石家庄市无极县130131河北省石家庄市平山县130132河北省石家庄市元氏县130133河北省石家庄市赵县130181河北省石家庄市辛集市130182河北省石家庄市藁城市130183河北省石家庄市晋州市130184河北省石家庄市新乐市130185河北省石家庄市鹿泉市130200河北省唐山市130201河北省唐山市市辖区130202河北省唐山市路南区130203河北省唐山市路北区130204河北省唐山市古冶区130205河北省唐山市开平区130

15号身份证号码转18位批量工具表

15号身份证号码转18位批量工具表

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!

18位身份证号码最后一位校验码的计算方法-推荐下载

18位身份证号码最后一位校验码的计算方法-推荐下载
根据〖中华人民共和国国家标准 GB 11643-1999〗中有关公民身份号码的规定,公民身份 号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次 为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
地址码表示编码对象常住户口所在县(市、旗、区)的行政区划代码。生日期码表示编码对 象出生的年、月、日,其中年份用四位数字表示,年、月、日之间不用分隔符。顺序码表 示同一地址码所标识的区域范围内,对同年、月、日出生的人员编定的顺序号。顺序码的 奇数分给男性,偶数分给女性。校验码是根据前面十七位数字码,按照 ISO 7064:1983.MOD 11-2 校验码计算出来的检验码。下面举例说明该计算方法。
某男性公民身份号码本体码为 34052419800101001,首先按照公式⑴计算:
∑(ai×Wi)(mod 11)……………………………………(1) 公式(1)中: i----表示号码字符从由至左包括校验码在内的位置序号; ai----表示第 i 位置上的号码字符值; Wi----示第 i 位置上的加权因子,其数值依据公式 Wi=2(n-1)(mod 11)计算得出。
(3)通过模得到对应的校验码 Y: 0 1 2 3 4 5 6 7 8 9 10 校验码: 1 0 X 9 8 7 6 5 4 3 2 四、举例如下: 北京市朝阳区: 11010519491231002X 广东省汕头市: 440524188001010014
=============================
表示编码对象出生的年、月、日,按 GB/T7408 的规定执行,年、月、日代码之间不用分隔 符。 4、顺序码 表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺 序码的奇数分配给男性,偶数分配给女性。 5、校验码 (1)十七位数字本体码加权求和公式 S = Sum(Ai * Wi), i = 0, ... , 16 ,先对前 17 位数字的权求和 Ai:表示第 i 位置上的身份证号码数字值 Wi:表示第 i 位置上的加权因子 Wi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 (2)计算模 Y = mod(S, 11)

15位身份证号码转18位算法

15位身份证号码转18位算法

15位⾝份证号码转18位算法18位⾝份证标准在国家质量技术监督局于1999年7⽉1⽇实施的GB11643-1999《公民⾝份号码》中做了明确的规定。

GB11643-1999《公民⾝份号码》为GB11643-1989《社会保障号码》的修订版,其中指出将原标准名称"社会保障号码"更名为"公民⾝份号码",另外GB11643-1999《公民⾝份号码》从实施之⽇起代替GB11643-1989。

GB11643-1999《公民⾝份号码》主要内容如下:⼀、范围该标准规定了公民⾝份号码的编码对象、号码的结构和表现形式,使每个编码对象获得⼀个唯⼀的、不变的法定号码。

⼆、编码对象公民⾝份号码的编码对象是具有中华⼈民共和国国籍的公民。

三、号码的结构和表⽰形式1、号码的结构公民⾝份号码是特征组合码,由⼗七位数字本体码和⼀位校验码组成。

排列顺序从左⾄右依次为:六位数字地址码,⼋位数字出⽣⽇期码,三位数字顺序码和⼀位数字校验码。

2、地址码表⽰编码对象常住户⼝所在县(市、旗、区)的⾏政区划代码,按GB/T2260的规定执⾏。

3、出⽣⽇期码表⽰编码对象出⽣的年、⽉、⽇,按GB/T7408的规定执⾏,年、⽉、⽇代码之间不⽤分隔符。

4、顺序码表⽰在同⼀地址码所标识的区域范围内,对同年、同⽉、同⽇出⽣的⼈编定的顺序号,顺序码的奇数分配给男性,偶数分配给⼥性。

5、校验码(1)⼗七位数字本体码加权求和公式S = Sum(Ai * Wi), i = 0, ... , 16 ,先对前17位数字的权求和Ai:表⽰第i位置上的⾝份证号码数字值Wi:表⽰第i位置上的加权因⼦Wi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2(2)计算模Y = mod(S, 11)(3)通过模得到对应的校验码Y: 0 1 2 3 4 5 6 7 8 9 10校验码: 1 0 X 9 8 7 6 5 4 3 2四、举例如下:北京市朝阳区: 110105************⼴东省汕头市: 44052418800101001415位升18的⽅法根据〖中华⼈民共和国国家标准 GB 11643-1999〗中有关公民⾝份号码的规定,公民⾝份号码是特征组合码,由⼗七位数字本体码和⼀位数字校验码组成。

身份证号第18位校验xls

身份证号第18位校验xls

校验方法:在蓝色格中输入身份证号,黄色格中即自动计算出校验码。

校验码的计算方法(摘自百度百科):
1、将前面的身份证号码17位数分别乘以不同的系数。

从第一位到第十七位的系数分别为:7-9-10-5
2、将这17位数字和系数相乘的结果相加。

3、用加出来和除以11,看余数是多少?
4、余数只可能有0-1-2-3-4-5-6-7-8-9-10这11个数字。

其分别对应的最后一位身份证的号码
5、通过上面得知如果余数是2,就会在身份证的第18位数字上出现的是 X。

如果余数是10,身份证的最例如:某男性的身份证号码为【530102************】, 我们看看这个身份证是不是合法的身份证。

首先我们得出前17位的乘积和【(5*7)+(3*9)+(0*10)+(1*5)+(0*8)+(2*4)+(1*2)+(9*1)+(2*6)+(0*3)+(也就是说其余数是2。

最后通过对应规则就可以知道余数2对应的检验码是X。

所以,可以判定这是一个正
系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。

应的最后一位身份证的号码为1-0-X -9-8-7-6-5-4-3-2。

如果余数是10,身份证的最后一位号码就是罗马数字 2。

证是不是合法的身份证。

*2)+(9*1)+(2*6)+(0*3)+(0*7)+(5*9)+(0*10)+(8*5)+(0*8)+(1*4)+(1*2)】是189,然后用189除以11得出的结果是所以,可以判定这是一个正确的身份证号码。

除以11得出的结果是189/11=17----2,。

18位身份证号码最后一位的算法

18位身份证号码最后一位的算法

18位⾝份证号码最后⼀位的算法1.将前⾯的⾝份证号码17位数分别乘以不同的系数。

从第⼀位到第⼗七位的系数分别为: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 22.将这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.新建对话框程序,加⼊Edit Control(id为IDC_EDIT1),和⼀个button(id为IDC_BUTTON1)。

设置编辑框属性Number为true,表⽰只接受数字。

2.在OnInitDialog()加⼊// TODO: 在此添加额外的初始化代码CFont *m_Font;m_Font = new CFont;//设置编辑框字体⼤⼩m_Font->CreateFont(30,10,0,0,100,FALSE,FALSE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,FF_SWISS,L"Arial");CEdit *m_Edit=(CEdit *)GetDlgItem(IDC_EDIT1);m_Edit->SetFont(m_Font,FALSE);GetDlgItem(IDC_EDIT1)->SetFont(m_Font);3.在OnBnClickedButton1()中加⼊void CIdCheckDlg::OnBnClickedButton1(){// TODO: 在此添加控件通知处理程序代码//系数unsigned char multi[17] = {7 ,9 ,10 ,5 ,8 ,4 ,2 ,1 ,6 ,3 ,7 ,9 ,10 ,5 ,8 ,4 ,2};int sum = 0;CString lastNum;//获取编辑框的值到编辑框变量UpdateData(TRUE);CString PersonId;PersonId = m_id;int ll = PersonId.GetLength();//验证长度if (ll != 17){MessageBox(_T("长度不正确!请输⼊⾝份证前17位!"));return;}//计算系数和for (int i =0 ; i < ll ; i++){sum += _ttoi(CString(PersonId.GetAt(i)))*multi[i];}//计算余数sum %= 11;if (sum == 1)lastNum = _T("0");else if (sum == 0)lastNum = _T("1");else if (sum == 2)lastNum = _T("X");else{lastNum.Format(_T("%d"), 12-sum);}MessageBox(_T("该⾝份证最后⼀位为")+lastNum);}4. 运⾏结果注: 本程序只根据前17位验证最后⼀位的正确性,⽽不论该号码的真实性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档