身份证校验码怎么算?GB 11643 算法

二代身份证第 18 位是按加权模 11 算法生成的校验码。本文讲解原理并给出在线校验工具。

核心要点

  • 校验码算法:前 17 位分别乘以固定权重 [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2] 后求和。
  • 和值对 11 取余,余数 0–10 依次对应校验码 1、0、X、9、8、7、6、5、4、3、2。
  • 该算法只能拦截输入错误,不能证明该身份证号码真实存在。

身份证前 17 位分别乘以固定权重(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2),求和后对 11 取余,按余数 0–10 映射到校验码 1 0 X 9 8 7 6 5 4 3 2

为什么要校验

校验码能拦截输错一位或两位的无效号码,是表单验证的轻量手段。

查询网身份证查询弱校验可解析归属地、生日、性别并自动校验真伪。

常见问题

身份证第 18 位校验码是怎么算出来的?
前 17 位分别乘以权重 7、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4、2,求和后对 11 取余,再按余数映射到校验码 1、0、X、9、8、7、6、5、4、3、2。
通过校验码能判断身份证真伪吗?
只能做格式校验。它能拦截输错一位或两位的无效号码,但无法验证该号码是否真实存在、是否属于某人。严格场景仍需通过官方渠道核验。
校验码为什么会出现字母 X?
X 是数字 10 的写法。按模 11 算法,当余数为 2 时对应的校验码为 10,为避免出现两位数字,就统一写成大写字母 X。
身份证里的地址码会随户籍迁移改变吗?
不会。前 6 位地址码是首次申领时的行政区划代码,此后即使户籍迁移也不会变更,因此它与当前实际居住地可能并不一致,不能用来判断现居地。

最后更新:2026-09-19

相关工具

相关指南

‹ 返回知识库