?

身份證號碼中的數學

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的循環冗余校驗碼設計
這個號碼很吉祥
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合