身份证号码(18位)的编码逻辑遵循国家标准 GB 11643-1999《公民身份号码》,其结构设计承载了持有人的地域信息、出生日期、性别等信息,并通过校验码保证号码的合法性。以下是详细解析:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 └─────┬─────┘ └─────┬─────┘ └───┬───┘ └───┬───┘ 地址码 出生日期码 顺序码 性别码 校验码
320106
注意:地址码基于首次申领地,即使后续迁移户籍,号码仍保持不变。
YYYYMMDD
19950418
20000229
特殊场景:
1, 3, 5, 7, 9
0, 2, 4, 6, 8
317
102
作用:通过算法验证前17位的合法性,防止输入错误或伪造。
生成算法(ISO 7064:1983 Mod 11-2):
Ai
Wi
2^(18-i) mod 11
[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]
R = S mod 11
R
示例:前17位为11010519491231002,计算得R=10,故校验码为X(罗马数字10)。
11010519491231002
R=10
X
通过这一设计,身份证号码在有限位数内高效集成了关键身份信息,同时具备防伪能力。