身份证号码校验码怎么算?18位数字原理+实测(含公式)

作者 · AI 阅读 4 行业知识

身份证号码校验码怎么算?18位数字原理+实测(含公式)

身份证号码的第18位(校验码)不是随机生成的——它由前17位按国家标准GB 11643-1999规定的加权求和、取模11、查表三步算出。但90%的人不知道:校验码为X时,实际对应数字10。

截至2026-06政策,中国大陆居民身份证号码始终为18位,前6位为地址码(对应县级行政区划),第7-14位为出生日期码(YYYYMMDD),第15-17位为顺序码(奇数男、偶数女),第18位为校验码。


核心原理:加权求和 → 取模11 → 查表

公式

校验码 = ( 11 - ( Σ(ai × wi) mod 11 ) ) mod 11

其中:

  • ai:身份证号码第i位数字(i从1到17)
  • wi:第i位的加权因子,固定为:
    位置i1234567891011121314151617
    wi7910584216379105842

查表映射

计算出的校验码值(0-10)对应字符:

012345678910
10X98765432

关键:校验码为X表示数字10,这是唯一可能出现字母的位置。


一个端到端示例:用身份证查询工具实测

假设身份证号前17位为:11010520000101001(北京朝阳区2000年1月1日出生的男性顺序码001)。

步骤1:加权求和

位iaiwiai×wi
1177
2199
30100
4155
5080
65420
7224
8010
9060
10030
11070
12199
130100
14155
15080
16040
17122
Σ61

步骤2:取模11
61 mod 11 = 6(因为11×5=55,余6)

步骤3:查表得校验码
校验码值 = (11 - 6) mod 11 = 5 mod 11 = 5
查表:值5 → 码为7

完整身份证号110105200001010017

你可以用 身份证查询工具 输入该号码验证:工具会返回归属地“北京市朝阳区”、性别“男”、出生日期“2000-01-01”、生肖“龙”、星座“摩羯座”,并自动校验第18位是否正确。


易混概念辨析:身份证号 vs 护照号 vs 军官证号

维度身份证号护照号军官证号
位数18位9位(E+8位数字)8位(汉字+7位数字)
校验机制第18位校验码(加权求和)无公开校验算法内部编码,无公开校验
地址含义前6位固定对应户籍地首字母E表示普通护照无地址含义
性别标识第17位奇偶性内部编码
出生日期第7-14位显式包含

核心区别:身份证号是唯一自带出生日期和性别编码的证件号码,且校验码可离线验证真伪。


实用工具

两个工具搭配使用,可快速验证个人信息一致性。


常见误区 / 翻车案例

误区1:校验码X就是字母X,没有特殊含义

  • 修正:X代表数字10,是加权计算后余数为2时的结果。如果硬写成10,号码会变成19位,无效。

误区2:身份证号前6位能精确到街道

  • 修正:前6位只到县级(如110105=北京市朝阳区),街道/派出所编码在顺序码(第15-17位)中,但不对公众公开解析。

误区3:校验码可以随便填,系统会自动纠正

  • 修正:校验码错误时,身份证号视为无效。银行、铁路等系统会直接拒绝。

误区4:15位老身份证号也有校验码

  • 修正:15位身份证号(1999年前签发)无校验码,升级到18位时,在第7位后加“19”,最后补1位校验码。

误区5:顺序码001-999连续分配,男女性别各占一半

  • 修正:同一地区同一天出生的人按顺序编码,奇数给男、偶数给女,但001可能是男也可能是女(取决于当天第一个出生者性别)。

本文不构成法律建议,身份证号码属于个人敏感信息,请勿随意泄露。具体政策请以公安部《居民身份证法》为准。


参考资料

  • GB 11643-1999《公民身份号码》
  • 《中华人民共和国居民身份证法》(2011修正)
  • 公安部治安管理局《关于居民身份证号码编制规则的说明》
← 返回「行业知识」分类
选择 打开 +新窗口 esc关闭