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