居民身份证是一种国家法定的证明公民个人身份的证件。根据国家标准GB11643-1999的规定,公民身份号码是由17位数字本体码和1位校验码组成的特征组合码。其中,排列顺序从左至右依次为:6位数字地址码,8位数字出生日期码,3位数字顺序码和1位数字校验码。
第1-6位为地址码,表示编码对象常住户口所在县(市、镇、区)的行政区划代码。
第7-14位为出生日期码,表示编码对象出生的年、月、日,按GB/T7408的规定执行,年、月、日代码之间不用分隔符。
第15-17位为顺序码,是同一地址码所标示的区域范围内,对同年同月同日生的居民编订的顺序码。其中第15、16位是县、区级政府所辖派出所的分配码,每个派出所分配码为10个连续号码。
第17位表示性别,男性为单数,女性为双数,如遇同年同月同日有两人以上时顺延第2、第3、第4、第5个分配码。
第18位为校验码,根据前面17位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来。ISO 7064:1983.MOD 11-2校验码是一种用于校验数字编码的算法,它通过对前17位数字进行特定的计算,得出最后一位校验码,从而保证身份证号码的正确性和唯一性。
通过上面的简单介绍之后,我们来看看如何通过前面17位数字,计算第18位的步骤:
1.计算第18位数字的方法是采用ISO 7064:1983.MOD 11-2校验码计算方法。具体计算步骤如下:
2.将身份证号码前17位的数字依次乘以对应的权重因子,权重因子从右至左依次为:7、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4、2。 例如,假设身份证号码前17位为:11022919540806082,对应的权重因子为:7、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4、2。
则对应的计算结果为:1×7 + 1×9 + 0×10 + 2×5 + 2×8 + 9×4 + 1×2 + 9×1 + 5×6 + 4×3 + 0×7 + 8×9 + 0×10 + 6×5 + 0×8 + 8×4 + 2×2 = 269。
3.将上一步计算得出的结果除以11,得到余数。
例如,上一步计算得出的结果为269,则269÷11=24余5。269-24x11=5
4.根据余数的值,查找对应的校验码。余数为0时,校验码为1;余数为1时,校验码为0;余数为2时,校验码为X;余数为3~10时,校验码为对应的数字(例如,余数为3时,校验码为9)。
例如,上一步计算得出的余数为5,则校验码为7。
因此,根据身份证号码前17位计算得出的校验码为7,整个身份证号码为110229195408060827。
结束语录:
加权因子表:
位置序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
加权因子 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
校验码表:
余数 0 1 2 3 4 5 6 7 8 9 10
校验码 1 0 X 9 8 7 6 5 4 3 2
最后,需要注意的是切勿泄露个人隐私,请务必遵守当地的法律法规。