身份证号码中的数学

2015-11-03 14:10韩雪涛
初中生学习·高 2015年10期
关键词:校验码合法号码

韩雪涛

我们生活的地方随处可见数字编码,当然,和我们最熟悉的,莫过于身份证号码了。

身份证是每一个公民的重要证件,而我们每个人,从一生下来开始就有了一个身份证号码,并且这个号码已成为我们生活中的一部分,1985年我国开始实行居民身份证制度,当时签发的身份证数字编号是15位,1999年7月1日实施了新的标准,身份证的数字编号升级为18位,由17位数字本位码和1位校验码组成。

身份证前6位是地址码,前1、2位数字表示所在省份的代码,第3、4位数字表示所在城市的代码、第5、6位数字表示所在区县的代码。

身份证第7~14位是出生日期码,表示编码对象出生的年、月、日,分别用4位、2位、2位数字表示,例如:2007年5月11日表示为20070511。

身份证第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”,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,并求和得:3×7+4×9+0×l0+5×5+2×8+4×4+l×2+9×l+8×6+0×3+0×7+l×9+0×l0+l×5+0×8+0×4+l×2=189。

然后用189除以11得余数是2,最后通过对应规则可以知道,余数2对应的校验码是X,所以,这是一个合法的身份证号码。

显然,校验码的计算过程比较复杂,是由公安局的计算机根据上面的算法自动生成的,如果你有兴趣,不妨试着计算一下自己身份证号码最后的校验码哦!endprint

猜你喜欢
校验码合法号码
身份证号码中的数学知识
合法兼职受保护
说号码 知颜色
被赖账讨薪要合法
一个号码,一个故事
猜出新号码
合法外衣下的多重阻挠
找个人来替我怀孕一一代孕该合法吗?
基于FPGA的循环冗余校验码设计
这个号码很吉祥