码迷,mamicode.com
首页 > 其他好文 > 详细

身份证啥的

时间:2015-10-21 06:52:34      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:

我國自1999年實施公民身份號碼制度以來,許多公民身份號碼末位為“X”的公民,由於不明白“X”的含義,要求給予更換,產生了不必要的誤會。

目前我國公民身份證號碼由18字节組成:前6字节為地址碼,第7至14字节為出生日期碼,第15至17比特為順序碼,第18比特為校驗碼。檢驗碼分別是“0、1、2、……10”共11個數位,當檢驗碼為“10”時,為了保證公民身份證號碼18比特,所以用“X”表示。雖然校驗碼為“X”不能更換,但若需全用數位表示,只需將18比特公民身份號碼轉換成15比特居民身份證號碼,去掉第7至8比特和最後1比特3個数位。
當今的身份證號碼有15比特和18比特之分。1985年我國實行居民身份證制度,當時簽發的身份證號碼是15比特的,1999年簽發的身份證由於年份的擴展(由兩位變為四比特)和末尾加了效驗碼,就成了18比特。這兩種身份證號碼將在相當長的一段時期內共存。
中國大陸新身份證號碼算灋
1、號碼的結構
公民身份號碼是特徵組合碼,由十七位數字本體碼和一比特校驗碼組成。排列順序從左至右依次為:六比特數位地址碼,八位數位出生日期碼,三比特數位順序碼和一比特數位校驗碼。
2、地址碼
表示編碼對象常住戶口所在縣(市、旗、區)的行政區劃代碼,按GB/T2260的規定執行。

(所有區域的編碼可以到這個網站http://www.stats.gov.cn/tjbz/index.htm査詢到最新的縣及縣以上的行政編碼資料。)
3、出生日期碼
表示編碼對象出生的年、月、日,按GB/T7408的規定執行,年、月、日程式碼之間不用分隔符號。
4、順序碼
表示在同一地址碼所標識的區域範圍內,對同年、同月、同日出生的人編定的順序號,順序碼的奇數分配給男性,偶數分配給女性。
5、校驗碼
第十八比特數位的計算方法為:
1.將前面的身份證號碼17位數分別乘以不同的係數。從第一位到第十七比特的係數分別為:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
2.將這17比特數位和係數相乘的結果相加。
3.用加出來和除以11,看餘數是多少
4.餘數只可能有0 1 2 3 4 5 6 7 8 9 10這11個數位。其分別對應的最後一比特身份證的號碼為1 0 X 9 8 7 6 5 4 3 2。
5.通過上面得知如果餘數是2,就會在身份證的第18比特數位上出現羅馬數字的Ⅹ。如果餘數是10,身份證的最後一比特號碼就是2。
例如:某男性的身份證號碼是101010101010101010。我們要看看這個身份證是不是合法的身份證。
首先:我們得出,前17比特的乘積和是5
然後:用5除以11得出的結果是5。
最後:通過對應規則就可以知道餘數5對應的數位是7。所以,這是一個非法的身份證號碼,按說我們通過生日一眼就可以看出是假的。
所以用前17比特組成的正確ID應該是101010101010101017。

身份证啥的

标签:

原文地址:http://www.cnblogs.com/imsb/p/4896582.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!