问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

GB 11643-1999标准揭秘:身份证号码的秘密

创作时间:
2025-01-22 09:03:18
作者:
@小白创作中心

GB 11643-1999标准揭秘:身份证号码的秘密

GB 11643-1999《公民身份号码》国家标准详细规定了我国公民身份号码的编码规则和结构。公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。

01

地址码

地址码是身份证号码的前六位,表示持证人的户籍所在地。前两位代表省份,第三、四位代表城市,第五、六位代表区县。例如,“110105”表示北京市朝阳区。

02

出生日期码

身份证号码的第七位至第十四位表示出生年月日,其中年份用四位数字表示,年、月、日之间不用分隔符。例如,1981年05月11日就表示为19810511。

03

顺序码

身份证号码的第十五位至第十七位表示顺序码,顺序码对同地区、同年、月、日出生的人员编定的顺序号。其中第十七位奇数分给男性,偶数分给女性。

04

校验码

身份证号码的最后一位是校验码,作为尾号的校验码,是由号码编制单位按统一的公式计算出来的。校验码的出现是为了检测身份证号码的输入是否正确,防止出现重号的情况。

校验码的计算方法如下:

  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-9这10个数字,对应于身份证号码的最后一位的校验码。

例如,如果一个身份证号码的前17位数字分别为[a1, a2, a3, …, a17],那么其校验码可以通过以下公式计算:

校验码 = (a17 + a29 + a310 + a45 + a58 + a64 + a72 + a81 + a96 + a103 + a117 + a129 + a1310 + a145 + a158 + a164 + a17*2) % 11

需要注意的是,如果计算出来的校验码是10,那么在身份证号码中就用字母X来表示。这是为了保持身份证号码的长度一致,因为数字和字母在计算机中处理的方式不同。

通过以上介绍,我们可以了解到身份证号码的编码规则和校验方法。在实际应用中,我们需要根据这些规则和算法来进行身份证号码的生成和校验,以确保身份证号码的准确性和唯一性。同时,我们也需要加强公民对身份证号码的认识和保护意识,防止个人信息泄露和滥用。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号