身份证号码中的数学知识
2022-05-30华兴恒
华兴恒
在我们的日常生活中,数字编码可以说随处可见.当然,与我们最密切相关的莫过于身份证号码了.身份证是每一个公民必备的重要证件,每个人从出生后到公安机关报户口的那一刻起,派出所的电脑系统就会给你匹配一个数码唯一的身份证号码.
我国是从1985年开始实施居民身份证制度的,当时签发的身份证数字编号只有15位.到了1999年,我国开始实施了新的身份证数字编码标准,身份证的数字编码由15位升级到了18位,这18位数字编码由17位数字本位码和一位校验码组合而成.
身份证的18位数字编码中的前6位代表的是地址码,其中最前面的第1、2位数字表示的是户口所在省份的代码,第3、4位数字表示的是户口所在城市的代码,第5、6位数字则表示的是户口所在区或县的代码.身份证第7~14位数字是公民出生日期码,表示编码对象出生的年、月、日.身份证第15~17位是顺序码,表示同一地址码所标识的区域范围内,对同年、同月、同日出生的人员编定的顺序号.其中第17位数字编码用来表示性别:奇数表示男性,偶数表示女性.
身份证的第18位数字,也就是最后一位是最有意思的,它是一个校验码,是由前17位数字经过一定的计算规则得到的校验值,用它可以识别身份证号是否合法.那么,这位校验码是如何得出来的呢?下面我们就来说明一下它的计算方法.
第一步,将前面17位身份证数字分别乘以不同的系数(可称为“加权因子”),其各位数字对应的加权因子依次为:7、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4、2.
第二步,把得到的17个乘积相加求和(可称为“加权和”).
第三步,将加权和除以11,求余数.
第四步,由于余数只能取0、1、2、3、4、5、6、7、8、9、10,这样根据余数值与校验码的对应关系即可确定校验码.这11个余数对应的校验码依次为:1、0、X、9、8、7、6、5、4、3、2,即余数若为0,则最后的校验码取1;余数若为1,则最后的校验码取0.
需要特别注意的是,校验码中出现的“X”是罗马数字中的10,为了保证身份证号码是18位,当校验码为“10”时,就用“X”代替了.通过上面提到的对应关系可知,如果前三步得到的余数是2的话,就会在身份证的第18位数字上出现X.
不妨举一个例子:某男性的身份证号码是34052419800101001X.下面我们就来看一看这个身份证号码是不是合法.首先,将前17位数字分别乘以7、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4、2,并求和得:3x7+4x9+0x10+5x5+2x8+4x4+1x2+9x1+8x6+0x3+0x7+1x9+0x 10+1x5+0x8+0x4+1x2=189.然后用189除以11得余數是2.最后通过对应规则可以知道,余数2对应的校验码是X,所以这是一个合法的身份证号码.
显然,身份证号码的最后一位校验码的计算过程是比较复杂的,它是由公安机关的计算机根据上面的算法自动生成的.如果你有兴趣,不妨试着计算一下自己身份证号码中最后的校验码.