前 言
本标准是GB 11643—1989《社会保障号码》的修订版。为了使标准的内容适应我国国民经济和社会发展的需要,对原标准内容作了以下改动:
- 原标准名称“社会保障号码”更名为“公民身份号码”。
- 增加了引用的国际标准。
- 增加了第3章“定义”。
- 在号码的结构和表示形式方面,将出生日期由六位数字改为用八位数字表示,其中年份用四位数字表示;取消了顺序码中对百岁老人使用特定编号表示的条文。
- 地址码改为编码对象常住户口所在县(市、旗、区)的行政区划代码。
- 给出了校验公式及效验码计算方法。
- 原标准“附录 A 社会保障号码实例 (参考件)”改为“附录A (提示的附录 ) 公民身份号码实例”;增加了“附录 B (提示的附录) 校验码字符值计算方法实例”。
本标准从实施之日起,代替GB 11643—1989。
本标准由国家质量技术监督局提出。
本标准由中国标准化与信息分类编码研究所归口。
本标准主要起草单位:中国标准化与信息分类编码研究所、公安部户政局、公安部计算机管理监察司、公安部科技司。
参加起草单位:国家发展计划委员会、劳动和社会保障部、人事部、卫生部、民政部、国家工商局信息中心、国家税务总局信息中心、中国残疾人联合会、国家统计局人口与就业统计司。
本标准委托中国标准化与信息分类编码研究所和公安部技术监督委员会负责解释。
范围
本标准规定了公民身份号码的编码对象、号码的结构和表示形式,使每个编码对象获得一个唯一的、不变的法定号码。
2 引用标准
下列标准所包含的条文,通过在本标准中引用而构成为本标准的条文。本标准出版时,所示版本均为有效。所有标准都会被修订,使用本标准的各方应探讨使用下列标准最新版本的可能性。
GB/T 2260—1995 中华人民共和国行政区划代码
GB/T 7408—1994 数据元和交换格式 信息交换 日期和时间表示法
ISO 7064:1983数据处理——校验码系统
注:ISO 7064:1983的译文由中国标准化与信息分类编码研究所提供。
3 定义
本标准采用下列定义
3.1 本体码 master number
表示编码对象一定特征的号码。
3.2 校验码 check number
附加在本体码后边,用来验证本体码的录入或转录过程准确性的号码。每一个本体码只有一个校验码,校验码通过规定的数学关系式得到。
4 编码对象
公民身份号码的编码对象是具有中华人民共和国国籍的公民。
5 号码的结构和表示形式
5.1 号码的结构
公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
5.1.1 地址码
表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按GB/T 2260 的规定执行。
5.1.2 出生日期码
表示编码对象出生的年、月、日,按GB/T 7408 的规定执行。年、月、日代码之间不用分隔符。
例:某人出生日期为1966年10月26日,其出生日期码为19661026。
5.1.3 顺序码
表示在同一地址码所标识的区域范围内,对同年、同月、同日生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。
5.1.4 校验码
校验码采用ISO 7064:1983,MOD 11-2 校验码系统。
5.1.4.1 校验公式
公民身份号码中各个位置上的号码字符值应满足下列公式的校验:
式中:——表示号码字符从右至左包括校验码字符在内的位置序号;
——表示第
位置上的号码字符值;
——表示第
位置上的加权因子,其数值依据公式
计算得出。表1列出公民
身份号码中各个位置上的加权因子数值。
表 1 公民身份号码中各个位置上的加权因子数值
18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | |
| 7 | 9 | 10 | 5 | 8 | 4 | 2 | 1 | 6 | 3 | 7 | 9 | 10 | 5 | 8 | 4 | 2 | 1 |
5.1.4.2 校验码字符值的计算
当时,
,公式(1)可表示成:
公式(2)中,即为校验码字符值,其取值范围是
;当
值等于10时,用罗马数字符X表示。
满足于公式 (2) 及取值范围要求的校验码字符值可根据
与
的换算关系算出,见表2。
表 2 校验码字符值与
的换算关系表
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
校验码字符值 | 1 | 0 | X | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 |
5.2 号码的表示形式
公民身份号码的各特征码依次连接,不留空格,其表示形式为:
附 录 A
(提示的附录)
公民身份号码示例
A1 北京市朝阳区1949年12月31日出生的一名女性公民,其公民身份号码为:
11010519491231002X
该号码表示的具体含义如下:
A2 广东省汕头市潮阳县1880年1月1日出生的一男性公民,其公民身份号码为:
440524188001010014
该号码表示的具体含义如下:
附 录 B
(提示的附录)
校验码字符值计算方法实例
B1 某女性公民公民身份号码本体码为11010519491231002,其校验码字符值可按下述步骤与方法计算:
第一步:列出本体码与字符位置序号相对应的各个位置上的号码字符值
。
字符位置序号 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 |
本体码字符值 | 1 | 1 | 0 | 1 | 0 | 5 | 1 | 9 | 4 | 9 | 1 | 2 | 3 | 1 | 0 | 0 | 2 |
第二步:由表1列出与字符位置序号相对应的加权因子值
。
字符位置序号 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 |
加权因子值 | 7 | 9 | 10 | 5 | 8 | 4 | 2 | 1 | 6 | 3 | 7 | 9 | 10 | 5 | 8 | 4 | 2 |
第三步:计算与字符位置序号相对应的
的值。
字符位置序号 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 |
7 | 9 | 0 | 5 | 0 | 20 | 2 | 9 | 24 | 27 | 7 | 18 | 30 | 5 | 0 | 0 | 4 |
第四步:计算级数之和
第五步:计算 以11为模的余数值
。
级数之和167除以模11商15余2,即为2。
第六步:求出校验码字符值。查表2当
为2时,检验码字符值
为X。
该女性公民的公民身份号码为11010519491231002X。
B2 某男性公民身份号码本体码为 44052418800101001,其校验码字符值仍可按B1各步骤与方法
计算如下:
字符位置序号 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
本体码字符值 | 4 | 4 | 0 | 5 | 2 | 4 | 1 | 8 | 8 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | |
加权因子值 | 7 | 9 | 10 | 5 | 8 | 4 | 2 | 1 | 6 | 3 | 7 | 9 | 10 | 5 | 8 | 4 | 2 | 1 |
28 | 36 | 0 | 25 | 16 | 16 | 2 | 8 | 48 | 0 | 0 | 9 | 0 | 5 | 0 | 0 | 2 |
查表2得出校验码字符值为4。
,即
为8。
该男性公民的公民身份号码为440524188001010014。