在生活中,身份证是用于证明持有人身分的证件,多数是由各国地区政府发行予公民,它将作为每个人独一无二的公民身份证明工具,可以理解为你的个人唯一 ID,通过该 ID 可以直接搜索到你。大量新技术的出现允许身分证包含生物识别信息于其中,如照片、面部特征、指纹、虹膜扫描识别或指纹识别等等信息出现在身份证上。
# 结构与形式
第二代公民的身份证一共 18 位,根据《中华人民共和国国家标准 GB 11643-1999》中关于公民身份号码的规定:由 17 位数字本体码和 1 位校验码组成,从左到右依次位
- 1~6 位:地址码,表示所在省(直辖市、自治区)、市、区、县的代码
- 7~14 位:出生日期码,表示公民的出生年(4 位)、月(2 位)、日(2 位)
- 15~17 位:顺序码,表示同一出生地的顺序,其中,奇数表示男性、偶数表示女性
- 18 位:根据前面 17 位数字生成的校验码(按照 ISO 7064:1983.MOD 11-2 计算得来)
第二代身份证号码编码规则
身份证号码的最后一位是校验码,基于前面 17 位数字,根据规定的计算规则而来。
校验码的计算方式如下:
- 对于前面 17 位数字,每位数字分别乘以一个对应的因数,然后再对这些乘积求和,得到一个值 A。本步骤所用的因数是一个由 17 位数字组成的固定序列,把身份证号码前面得到的 17 位数字乘以固定序列对应位置的每一位,以此类推。
因数固定序列
7、9、10、5、8、4、2、1、6、3、7、9、1、0、5、8、4、2 |
- 把第一步得到的和除以 11,然后获取其余数。例如上面的身份证号码(441302202308057570)和因数相乘之后,计算出来的和是 309,再计算 309 % 11 的余数,得到 1。
余数对照表
余数 | 校验码 |
---|---|
0 | 1 |
1 | 0 |
2 | X |
3 | 9 |
4 | 8 |
5 | 7 |
6 | 6 |
7 | 5 |
8 | 4 |
9 | 3 |
10 | 2 |
根据上面的对照表,我们知道当余数为 1 时,校验码为 0,因此该居民的公民身份证号码应该为 441302202308057570。