【身份證號碼編碼規則及校驗位校驗算法】中國的第二代居民身份證號碼由18位數字組成,是用于唯一標識公民身份的重要信息。其編碼規則和校驗位的計算方法具有一定的規范性和科學性,確保了身份證號碼的唯一性和有效性。以下是對身份證號碼編碼規則及校驗位校驗算法的總結。
一、身份證號碼編碼規則
| 位數 | 內容說明 |
| 第1-6位 | 地址碼,表示發證地的行政區劃代碼(如:110000 表示北京市) |
| 第7-14位 | 出生日期碼,格式為YYYYMMDD,表示持證人的出生年月日 |
| 第15-17位 | 順序碼,表示同一地址碼下不同人員的順序編號,奇數為男性,偶數為女性 |
| 第18位 | 校驗碼,通過前17位計算得出,用于驗證身份證號碼的有效性 |
二、校驗位校驗算法
身份證號碼的第18位是校驗碼,其計算方法如下:
1. 將前17位數字分別乘以對應的權重系數
權重系數為:`[7, 9, 10, 5, 8, 4, 7, 9, 10, 5, 8, 4, 7, 9, 10, 5, 8]`
2. 將每項相乘結果相加
得到一個總和 `sum = d1×7 + d2×9 + d3×10 + ... + d17×8`
3. 對總和取模11
即 `mod = sum % 11`
4. 根據模值查找對應的校驗碼
對應關系如下:
5. 將計算出的校驗碼與身份證號碼中的第18位進行比對
若一致,則校驗通過;否則無效。
三、注意事項
- 身份證號碼必須為18位,少于或超過均無效。
- 前6位地址碼需符合國家行政區劃代碼標準。
- 出生日期碼需為合法日期,例如“20200230”為無效日期。
- 校驗碼可能為數字“0-9”或字母“X”,注意大小寫問題。
四、總結
身份證號碼的編碼規則和校驗算法是保障身份證信息準確性和唯一性的關鍵機制。通過對地址碼、出生日期、順序碼和校驗碼的合理分配與計算,可以有效防止錯誤或偽造身份證號碼的發生。在實際應用中,建議使用官方提供的校驗工具或編程實現來驗證身份證號碼的合法性,以提高數據處理的準確性與安全性。


