這是現行的第二代居民身份證。有國徽的一面是正面,有個人信息的一面是背面,最下面的18位代碼是身份證號。
從左到右的六位數字是地址碼,指的是行政區劃代碼,依次代表省、市、縣三級的區域。
但由于行政區劃代碼多次修改,即使來自同一個地方,身份證上的六位數字也可能不一樣。
接下來的8個數字是出生日期代碼,接下來的3個數字是在該日期出生的嬰兒的序列代碼。000到999之間,偶數分配給女性,奇數分配給男性。
那么,最后一個代表什么呢?為什么有的人是數字,有的人是X?
前17位告訴身份證主人的籍貫、年齡、性別,而最后一個字母不攜帶實質性信息,是附加的校驗碼。
當我們手動輸入身份證號碼時,除了明顯的多一個或少一個的錯誤外,可能很難發現自己輸入了錯誤的號碼。
身份證最后一位數字的校驗碼可以快速檢測出這些錯誤,系統也會經常彈出提醒讓用戶重新輸入:
那么,校驗碼是怎么發現身份證格式錯誤的呢?
身份證最后一個校驗碼值是通過MOD運算得到的。通過代入身份證前17位,計算出最后一個校驗碼。采用的算法是MOD 11-2。
具體公式是這樣的:
這是一個補充配方。A和W的乘積之和除以11,余數為1。
I代表身份證號從右到左的順序號,A對應第I個位置的身份證號。都是0到10之間的整數?,F在以這個ID號為例,計算a的值。
公式中的w以2為基數,由另一個公式的余數計算得出。根據公式,將A和W的所有值相乘,然后將乘積相加并除以11。余數已知為1,所以可以計算出這里A的值為10。
也就是說,這個身份證號的最后一位應該是10,但是直接用數字10會把數字從18位變成19位,所以用羅馬數字X代替10。
您的身份證號碼最后一位的1-X校驗碼就是用這個公式計算出來的。如果你的身份證號顯示的是X,那么按照前17位計算的值正好是10。
X的存在解決了位數的問題,但可能會給身份證持有者帶來麻煩。比如有的網站用身份證號碼的后6位作為初始密碼,但不支持輸入字母。
既然10這么麻煩,為什么不干脆去掉,把校驗碼的范圍限制在0到9?這是因為MOD 11算法識別各類錯誤的概率在90%以上,而MOD 10算法無法保證這么高的識別率。
不僅身份證號里有校驗碼,很多日常碼里也有校驗碼,但是校驗碼的計算方法不一樣。比如法人和其他組織用MOD 31-3算法統一自己的社會信用代碼,需要除以31得到余數。得到的校驗碼在0到30之間,大于等于10的數字用英文字母代替。
商品條碼的校驗碼算法不涉及余數,采用加減運算。
我們日常使用的二維碼,用的是更復雜的里德-所羅門碼。它生成的代碼已經超越了普通校驗碼中‘找錯’的層次,上升到了‘糾錯’的層次。
糾錯水平最高的一個,即使代碼上高達30%的信息無法識別,仍然可以恢復完整的信息。
身份證號末尾的數字和X是與主人無關的信息,但作為校驗碼的一員,其唯一的字節隱藏了一系列計算。當你出錯時,會彈出窗口提醒你悄悄刷公式的‘存在感’。
你認識身份證號帶X的人嗎?歡迎在評論區與我們交流。
身份證尾號是 X 的人到底有多特殊?心靈一五一十手百花爭艷巧27. 牙齒掉了不會再長回來,一個合適的發型勝過無數名牌包包,你的智慧比任何名貴手表都使人印象深刻。把你拿來買奢侈品的錢首先用來好好保養你的牙齒、皮膚和身體,吃好些,多讀書,多點去外面走走看看,盡量每天做運動。30.考慮到諸多因素 take many factors into account/ consideration42.知之為知之,不知為不知,是知也。 裁剪冰綃,輕疊數重,淡著燕脂勻注。新樣靚妝,艷溢香融,羞殺蕊珠宮女。易得凋零,更多少、無情風雨。愁苦,問院落凄涼,幾番春暮?海上生明月,天涯共此時。身份證,公式,嬰兒,二維碼,個人信息This freedom from the group has enabled the American to become “Economic Man”-one directed almost purely by profit motive, mobile and unencumbered(不受阻礙的)by family or community obligations. |