第二代身份證編碼規則 原理剖析及相關代碼_第1頁
第二代身份證編碼規則 原理剖析及相關代碼_第2頁
第二代身份證編碼規則 原理剖析及相關代碼_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第二代身份證編碼規則 原理剖析及相關代碼18身份證號碼編碼規則一、身份證號碼執行標準:18位身份證標準在國家質量技術監督局于1999年7月1日實施的GB11643-1999公民身份號碼。GB11643-1999公民身份號碼為GB11643-1989社會保障號碼的修訂版,其中指出將原標準名稱"社會保障號碼"更名為"公民身份號碼",另外GB11643-1999公民身份號碼從實施之日起代替GB11643-1989。二、編碼規則:公民身份號碼是特征組合碼,由十七位數字本體碼和一位校驗碼組成。排列順序從左至右依次為:六位數字地址碼,八位數字出生日期碼,三位數字順序

2、碼和一位校驗碼,可以用字母表示如為ABCDEFYYYYMMDDXXXR。其含義如下:1.地址碼(ABCDEF):表示編碼對象常住戶口所在縣(市、旗、區)的行政區劃代碼,按GB/T2260的規定執行。2.出生日期碼(YYYYMMDD):表示編碼對象出生的年、月、日,按GB/T7408的規定執行,年、月、日分別用4位、2位(不足兩位加0)、2(同上)位數字表示,之間不用分隔符。3.順序碼(XXX):表示在同一地址碼所標識的區域范圍內,對同年、同月、同日出生的人編定的順序號,順序碼的奇數分配給男性,偶數分配給女性。4.校驗碼(R),一位數字,通過前17位數字根據一定計算得出。三、關于地址碼含義的詳細

3、解釋:身份證前六位是地區代碼,我們用ABCDEF表示。代碼的解釋規則如下:A:國內區域1華北三省二市2東北三省3華東六省一市4華南六省5西南四省一市6西北五省7臺灣8港澳B(或者說是AB,就是前2位):省(直轄市,自治區,特別行政區)代碼按照A劃定的分區定義省代碼,有直轄市的,直轄市列前,其余按離直轄市的距離排序,沒有直轄市的,按離北京的遠近排序。具體省(直轄市,自治區,特別行政區)代碼如下:11-15京津冀晉蒙21-23遼吉黑31-37滬蘇浙皖閩贛魯41-46豫鄂湘粵桂瓊50-54渝川貴云藏61-65陜甘青寧新81-82港澳CD:城市代碼從01開始排,對于直轄市,CD=01表示市轄區,CD=

4、02表示轄縣;省的城市代碼從省會開始排,比如2101=沈陽2102=大連只有地級城市有獨立的城市代碼,縣級市沒有。EF:市轄區、郊區、郊縣、縣級市代碼如果EF=00,指代這個城市,不特定區縣;對于非直轄市,如EF=01,指代市轄區(任意一個區),02開始指代特定的區。其中:E=0代表市轄區,E=1代表郊區,E=2代表郊縣,E=8代表縣級市。對于直轄市,從01開始就依次排區,沒有市區和郊區的代碼區分。:有關更詳細的資料見附錄。四、生日期碼(YYYYMMDD)表示編碼對象出生的年、月、日,其中年份用四位數字表示,年、月、日之間不用分隔符。例如:1981年05月11日就用19810511表示。五、順

5、序碼(XXX)(身份證第十五位到十七位)是縣、區級政府所轄派出所的分配碼,每個派出所分配碼為10個連續號碼,例如"000-009"或"060-069",其中單數為男性分配碼,雙數為女性分配碼,如遇同年同月同日有兩人以上時順延第二、第三、第四、第五個分配碼。如:007的就是個男生,而且和他同年月日生的男生至少有兩個,他們的后四位是001*和003*。分配順序碼中"999、998、997、996"四個順序號分別為男女性百歲以上老人專用的特定編號。六、關于校驗碼校驗碼是通過一系列數學計算得出來的,具體校驗的計算方式如下:1.對前17位數字本

6、體碼加權求和公式為:S=Sum(Ai*Wi),i=0,.,16其中Ai表示第i位置上的身份證號碼數字值,Wi表示第i位置上的加權因子,其各位對應的值依次為:7 910 58 42 16 37 910 58 42通俗解釋:身份證第一位數字X7+第二位X9+第三位X10+第四位X5+第五位X5+第六位X8+第七位X4+第八位X1+第九位X6+第十位X3+十一位X7+十二位X9+十三位X10+十四位X5+十五位X8+十六位X4+十七位X2;計算出總和(用S)表示。2.以11對計算結果取模Y=mod(S,11)通俗解釋:用S除以11,看最后的余數。如果除盡,為0;余數為1,則計為1;最大余數為10;全

7、部數字為0-10共11個數字。(用Y表示)。3.根據模的值得到對應的校驗碼對應關系為:Y值:0 12 34 56 78 910校驗碼:1 0X 98 76 54 32通俗解釋:余數為0,則校驗碼為1;依次類推:余數為1,則校驗碼對應0;以下:2-X;3-9;4-8;5-7;6-6;7-5;8-4;9-3;10-2。如果校驗碼不符合這個規則,則肯定是假號碼。關于18位身份證號碼尾數是"X"的一種解釋:因為按照上面的規則,校驗碼有11個,而不是10個,所以不能用0-9表示。所以如果尾號是10,那么就得用X來代替,因為如果用10做尾號,那么此人的身份證就變成了19位,而19位的號

8、碼違反了國家標準,并且我國的計算機應用系統也不承認19位的身份證號碼。是羅馬數字的10,用X來代替10,可以保證公民的身份證符合國家標準。根據中華人民共和國國家標準GB 11643-1999中有關公民身份號碼的規定,公民身份號碼是特征組合碼,由十七位數字本體碼和一位數字校驗碼組成。排列順序從左至右依次為:六位數字地址碼,八位數字出生日期碼,三位數字順序碼和一位數字校驗碼。15位升18的方法根據中華人民共和國國家標準GB 11643-1999中有關公民身份號碼的規定,公民身份號碼是特征組合碼,由十七位數字本體碼和一位數字校驗碼組成。排列順序從左至右依次為:六位數字地址碼,八位數字出生日期碼,三位

9、數字順序碼和一位數字校驗碼。地址碼表示編碼對象常住戶口所在縣(市、旗、區)的行政區劃代碼。生日期碼表示編碼對象出生的年、月、日,其中年份用四位數字表示,年、月、日之間不用分隔符。順序碼表示同一地址碼所標識的區域范圍內,對同年、月、日出生的人員編定的順序號。順序碼的奇數分給男性,偶數分給女性。校驗碼是根據前面十七位數字碼,按照ISO 7064:1983.MOD 11-2校驗碼計算出來的檢驗碼。下面舉例說明該計算方法。15位的身份證編碼首先把出生年擴展為4位,簡單的就是增加一個19,但是這對于1900年出生的人不使用(這樣的壽星不多了)。附錄一:校驗碼的計算方法舉例:某男性公民身份號碼本體碼為34

10、052419800101001,首先按照公式(1)計算:(ai×Wi)mod 11(1)公式(1)中:i-表示號碼字符從右至左包括校驗碼在內的位置序號;ai-表示第i位置上的號碼字符值;Wi-示第i位置上的加權因子,其數值依據公式Wi=(2的i-1次冪)(mod 11)計算得出。I 18 17 16 15 14 13 12 11 10 98 76 54 32 1Ai 34 05 24 19 80 01 01 00 1a1 Wi 79 10 58 42 16 37 910 58 42 1ai×Wi 21 36 025 16 16 29 48 00 90 50 02 a1根據公式(1)進行計算:(ai×Wi)=(21+36+0+25+16+16+2+9+48+0+0+9+0+5+0+0+2)=189 189÷11=17+2/11(余數為2)(ai×Wi)mod 11=2然后根據

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論