公民身份号码

维基百科,自由的百科全书

这是本页的一个历史版本,由InternetArchiveBot留言 | 贡献2021年2月12日 (五) 15:45 (补救8个来源,并将0个来源标记为失效。) #IABot (v2.0.8)编辑。这可能和当前版本存在着巨大的差异。

中华人民共和国公民身份号码中华人民共和国为中国大陆每个公民出生之日起,及港澳台居民从申请居住证之日起,编定的唯一的、终身不变的身份代码,在中华人民共和国公民办理涉及政治经济社会生活权益事务方面广泛使用。中华人民共和国公安部负责公民身份号码的编制和组织实施工作。

1999年8月26日中华人民共和国国务院发布《国务院关于实行公民身份号码制度的决定》(国发〔1999〕15号),这个文件规定自1999年10月1日起在全国建立和实行公民身份号码制度。

组成方式

中华人民共和国国家标准GB 11643-1999《公民身份号码》中规定:公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。

18位数字组合的方式是:

1 1 0 1 0 2 Y Y Y Y M M D D 8 8 8 X
地址码 出生日期码 顺序码 校验码
  • 地址码指的是公民常住户口所在县(市、镇、区)的行政区划代码,如110102是北京市西城区。但港澳臺地區居民的身份號碼只精確到省級。[1][2][3]
  • 出生日期码表示公民出生的公历年(4位)、月(2位)、日(2位)。
  • 顺序码是给同地址码同出生日期码的人编定的顺序号,其中奇数分配给男性,偶数分配给女性。
  • 最后一位是校验码,这里采用的是ISO 7064:1983, MOD 11-2校验码系统[4]。校验码为一位数,但如果最后采用校验码系统计算的校验码是“10”,碍于身份证号码为18位的规定,则以“X”代替校验码“10”。

校验码计算方法

  • 1. 将身份证号码从左至右标记为即为校验码;
  • 2. 计算权重系数;其中表示求余数

所以:

i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Wi 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 1
  • 3. 计算
  • 4.

以下是用C++写的校验码检查程序:

bool check(char id[]) {
	int index, sum, num;
	for (sum = index = 0; index < 17; index++)
		sum += (pow(2, 17 - index) % 11) * (id[index] - '0');
	num = (12 - (sum % 11)) % 11;
	if (num < 10)
		return (num == id[17] - '0');
	else
		return (id[17] == 'X');
}

以及用R语言编写的小程序:

check_CHN_ID <- function(id) {
  ids <- strsplit(as.character(id),'')[[1]]
  if(length(ids) != 18) return(FALSE)
  s <- sum(2^(17:1) %% 11 * as.numeric(ids[1:17]))
  n <- (12 - s%%11) %% 11
  ifelse(n<10, n == as.numeric(ids[18]), toupper(ids[18]) == 'X')
}

应用

重复号码

在实行18位编码及全国数据统一管理前,原有的公民身份号码为15位,15位编码相对于18位编码,出生日期码的年份只有两位,缺少校验码。

因为手工升号的原因,第二代身份证曾存在171万例重复的号码,公安部开展户口清理整顿工作后,公民身份号码重号人数至2017年已减至8人[6][7]

参考文献

  1. ^ 周慧盈. 等同身分證 陸推18碼台灣居民居住證[影]. 中央通訊社. 2018-08-16  [2018-08-17]. (原始内容存档于2018-08-31) (中文(臺灣)). 
  2. ^ 韩熠. 大陆首次为台湾居民编制公民身份号码. 多維新聞網. 2018-08-22 [2018-08-29]. (原始内容存档于2018-08-31) (中文(中国大陆)). 
  3. ^ 国务院办公厅关于印发《港澳台居民居住证申领发放办法》的通知. 中华人民共和国中央人民政府. 2018-08-19 [2019-03-04]. (原始内容存档于2019-03-04) (中文(简体)). 
  4. ^ ISO - ISO/IEC 7064:2003 - Information technology — Security techniques — Check character systems. [2010-12-02]. (原始内容存档于2017-01-13). 
  5. ^ 发展改革委网站. 发改委解读之十四:大力推进信用建设 加快构建信用中国. 中国政府网. 中央政府门户网站. 2016-02-25 [2019-05-31]. (原始内容存档于2020-03-26). 报请国务院明确,以公民身份号码作为自然人统一社会信用代码。 
  6. ^ 法制日报. 中国公民身份号码重号基本解决 由171万减至10人-新华网. 新华网. 2016-06-11 [2018-05-26]. (原始内容存档于2019-03-04). 公安部部署开展户口清理整顿工作两年多以来,全国共清理注销重复户口296万个,清理人口信息无相片人员1665.5万,公民身份号码重号人数已由2009年的171万人减至10人 
  7. ^ 全国身份证重号人数由171万减至8人. 人民网. 2017-04-28 [2018-11-27]. (原始内容存档于2017-05-07) (中文(简体)). 

外部链接

参见