APP下载

揭秘数学之身份证号码

2018-02-26杨元韡

新世纪智能(数学备考) 2018年12期
关键词:乘积号码身份证

杨元韡

众所周知,居民身份证是每一个公民的重要证件,它与我们的生活密切相关,比如申请考驾驶证,办理出国手续,银行开户等都需要它.

我国于20世纪80年代开始实行身份证制度,第一代身份证登记发放时还是手工登记的,漏错重不可避免.当2004年换发第二代身份证且实现全国联网后,重号问题仍然非常严重,当时有168万重号身份证.公安机关用近6年时间清理了这些重复的身份证号码,也是“蛮拼”的.现在新申请的第二代身份证不会再出现重号问题,这也是时代的一个进步.

每一个人的身份证号码都是唯一的,这一串号码到底是什么意思呢?下面我们来解密身份证号码.

我们知道,现在的第二代身份证的号码共18位.我们先来分析前17位号码的含义.前6位是地址码,比如320911表示的是江苏省盐城市盐都区.第7到14位是出生日期代码,比如19830418表示的是1983年4月18日出生.第15到17位是顺序码,是为同一地址码所在的行政区域内同年同月同日出生人员编写的顺序码,但值得注意的是,第17位上的奇数全部分配给男性,偶数全部分配给女性.因此,给出一个身份证号码,从第17位的奇偶性我们很容易判断这个号码的主人是男性还是女性,你知道吗?

最为复杂的是第18位,我们称为校验码.什么是校验码?代码作为数据向计算机或其他设备输入时,容易产生输入错误,为了减少输入错误,编码专家发明了各种校验检错的方法,并依据这些方法设置了校验码.同时,校验码还可以为身份证的真伪识别带来方便,即根据前17位的号码通过某种规则可以得到第18位号码.下面我们来了解这个规则.

我们以具体例子为例,例如身份证号码前17位是32091119830418091,那第18位是什么呢?

第一步:前17位数字中,从右向左数的第17位上的数字是3(实际上就是从左往右的第1位),我们计算217除以11所得的余数为7,再将两者相乘得到第1组乘积3×7=21;从右向左数的第16位上的数字是2(实际上就是从左往右的第2位),我们计算216除以11所得的余数为9,再将两者相乘得到第2组乘积2×9=18……一般地,假定从右向左数的第n位上的数字是k,我们计算2n除以11的余数(记为 mod(2n,11)),再将两者相乘得到第n组乘积k×mod(2n,11);然后将这17组乘积相加得到一个和s,就是s=3×7+2×9+0×10+9×5+1×8+1×4+1×2+9×1+8×6+3×3+0×7+4×9+1×10+8×5+0×8+9×4+1×2=288.在这里,mod(2n,11)称为从右往左数的第n位数字的加权因子,n=1,2,3,…,17时的加权因子分别为2,4,8,5,10,9,7,3,6,1,2,4,8,5,10,9,7.因 此,第一步实际上就是求每一位数字与它的加权因子乘积的和s.

第二步:计算y=mod(s,11),即第一步得到的和s除以11所得的余数.刚才例子中的s=288,因此不难得到y=mod(288,11)=2.

第三步:将第二步所得的y,在下表中找到与它对应的校验码:

例如,我们在第二步得到y=2,对应的校验码为X.因此,身份证号码前17位是32091119830418091,则第18位一定是X.

可能还有同学们会问,为什么会有X这个字母而不是数字?

实际上,第三步中的校验码的表格的规律是,上下两个数字和除以11得到的余数恰好为1.例如上面的数字是5,则下面的校验码一定为7,它们的和为12,恰好满足要求;而上面的数字为2的时候,则下面的效验码理应是10.但是如果用10来做校验码,那么身份证号码就变成19位了,而19位的号码违反了国家标准,并且我国的计算机应用系统也不承认19位的身份证号码.而X是罗马数字10,用X来代替10,可以保证公民的身份证号码符合国家标准.

至此,我们已经揭开了身份证号码中的数学之“谜”.从身份证号码中的数学之“谜”的探索之旅中,我们可以发现数学中的编码理论在实际生活中有着很重要的应用.类似地,书本的条形码,还有最近非常流行的“我查查”等APP也是编码理论的一些重要应用.

生活处处皆有数学,期待同学们有发现数学的眼睛和探究数学的意识!

猜你喜欢

乘积号码身份证
都有身份证
乘积最大
说号码 知颜色
一个号码,一个故事
最强大脑
最强大脑
猜出新号码
据说最近流行晒身份证,各路大神都被炸了出来
趣说古人的“身份证”
“无限个大于零小于1的数的乘积不等于零”的一则简例