概述
本工具是一款生成第二代身份證號碼的便捷工具,可以根據出生地、出生日期和性別,來生成一個“合法”的身份證號碼。這里的合法,是指符合國家 GB 11643-1999 標準的身份證號碼,但并非真實的身份證號碼。
第二代公民身份證一共 18 位,根據《中華人民共和國國家標準 GB 11643-1999》中關于公民身份號碼的規(guī)定:公民身份號碼是特征組合碼,由 17 位數字本體碼和 1 位校驗碼組成。從左至右依次為:
- 6 位地址碼:表示所在省(直轄市、自治區(qū))、市、縣的代碼
- 8 位出生日期碼:表示公民的出生年(4 位)、月(2 位)、日(2 位)
- 3 位數字順序碼:表示同一出生地的順序碼,其中,奇數表示男性,偶數表示女性
- 1 位數字校驗碼:根據前面 17 位數字生成的校驗碼(按照 ISO 7064:1983.MOD 11-2 計算得來)
下圖清楚地展示了第二代身份證號碼的編碼規(guī)則:
工具使用說明
本工具提供了出生地、出生日期和性別 3 個選項來生成一個身份證號碼。
1、出生地
通過一個省市區(qū)選擇器,可以很方便地選擇一個行政區(qū)域,該選項決定了身份證號碼的「所在地」編碼。如下圖所示:
2、出生日期
通過一個日期選擇器,可快速指定出生年、月、日。如下圖所示:
3、性別
性別選項,將決定生成的身份證號碼的「順序碼」。如果是男性,順序碼將是奇數;如果是女性,順序碼將是偶數。
指定了上述 3 個選項后,點擊「生成身份證號碼」,工具將生成一個符合第二代身份證編碼規(guī)則的號碼。下圖展示了最終生成的身份證號碼:
附:第二代身份證編碼規(guī)則
下面將詳細介紹第二代公民身份證的編碼規(guī)則,按居民出生所在地(地址碼)、出生日期、順序碼和校驗碼分別進行說明。
第 1-6 位:所在地
第 1 至 6 位為地址碼,表示這個人常住戶口所在縣(市、區(qū))的行政區(qū)劃代碼。
其中,前 2 位代表具體?。ㄖ陛犑?,自治區(qū),特別行政區(qū)),代碼如下:
- 11-15:京津冀晉蒙
- 21-23:遼吉黑
- 31-37:滬蘇浙皖閩贛魯
- 41-46:豫鄂湘粵桂瓊
- 50-54:渝川貴云藏
- 61-65:陜甘青寧新
第 3、4 位是城市代碼,第 5、6 位是區(qū)、縣代碼。身份證號碼上的所在地就由這 6 位代碼表示。
第 7-14 位:出生日期
第 7 至 14 位是出生日期碼,表示該公民的出生年、月、日,一共 8 位。其中,年份是 4 位,月份和日期是 2 位(不足兩位前面加 0)。如:19970430,表示 1997 年 4 月 30 日出生。
第 15-17 位:順序碼
第 15 至 17 位是順序碼。順序碼是指在同一地區(qū)內,對同年、同月、同日出生的人編定的順序號,一共 3 位數字。其中,奇數分配給男性,偶數分配給女性。
第 18 位:校驗位
身份證號碼的最后一位,是校驗位。校驗位基于前面 17 位數字,根據規(guī)定的計算規(guī)則而來。
校驗碼的計算方式如下:
- 對前 17 位數字,每位數字分別乘以一個對應的因數,然后再對這些乘積求和,得到一個值
A。本步驟所用的因數是一個由 17 位數字組成的固定序列,分別是:7、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4、2。也就是說,把前面得到的那 17 個數字,第 1 個數乘以 7;第 2 個數乘以 9;第 3 個數乘以 10 ...... 依次類推。例如,某身份證號碼前 17 位是43050220040304292,則根據算法要求,計算公式為:A = 4 * 7 + 3 * 9 + 0 * 10 + 5 * 5 + ... + 2 * 2 - 把第 1 步得到的和除以 11,然后獲取其余數。例如,上面例子中的 17 位身份證號碼和因數相乘之后,計算出來的和是 207 ,再計算
207 / 11的余數,得到 9。 - 根據第 2 步得到的余數,對照下面的校驗碼表,得到對應的校驗碼(其中 X 代表羅馬數字中的 10)。
| 余數 | 校驗碼 |
|---|---|
| 0 | 1 |
| 1 | 0 |
| 2 | X |
| 3 | 9 |
| 4 | 8 |
| 5 | 7 |
| 6 | 6 |
| 7 | 5 |
| 8 | 4 |
| 9 | 3 |
| 10 | 2 |
根據上面這個對照表,我們知道當余數為 9 時,對應的校驗碼為 3,因此,該居民的公民身份號碼應該為 430502200403042923。你也可以使用本站提供的身份證信息查詢工具來驗證生成的身份證號碼是否符合規(guī)范。
參考資料