身份证最后一位的 X 并不是“天选之子”的标志,而是根据一套国家标准计算出来的校验码。它的背后是ISO 7064:1983.MOD 11-2校验算法,用于防止身份证号码输入或伪造错误。
以 11010519491231002X 为例:
前6位:地址码(省市区) 中间8位:出生日期码(YYYYMMDD) 第15-17位:顺序码(同一地区生日相同的人按顺序分配,第17位奇数=男,偶数=女) 第18位:校验码,就是X可能出现的位。手动计算较麻烦,我们可以直接按顺序列出前17位与对应权重相乘:
假设身份证前17位:11010519491231002
权重:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
计算加权和:
(1×7 + 1×9 + 0×10 + 1×5 + 0×8 + 5×4 + 1×2 + 9×1 + 4×6 + 9×3 + 1×7 + 2×9 + 3×10 + 1×5 + 0×8 + 0×4 + 2×2)
= 7 + 9 + 0 + 5 + 0 + 20 + 2 + 9 + 24 + 27 + 7 + 18 + 30 + 5 + 0 + 0 + 4
= 167
( 167 \mod 11 = 2 )
(因为 ( 11×15 = 165),余数=2)
余数:0 1 2 3 4 5 6 7 8 9 10
校验码:1 0 X 9 8 7 6 5 4 3 2
余数=2 → 校验码为 X
所以完整身份证号:11010519491231002X
因为加权和 mod 11 的结果可能是 10,而10对应的校验码是 X(罗马数字的10)。
如果用10做末位,身份证号就会变成19位,破坏统一长度,所以用X代替。
所以,“身份证最后一位是X”只是校验计算的结果,和运气、命运无关,更多是数学规则的产物。