導航:首頁 > 源碼編譯 > 身份證校驗演算法

身份證校驗演算法

發布時間:2025-07-24 12:24:02

Ⅰ 身份證號最後一位數字稱之為校驗碼,校驗碼的計算方式是怎樣的

按照相關規定,身份號是由17個數字和1個數字校驗碼組成的。而最後一位校驗碼,就是檢查身份證是否正確的主要依據。它的計算方法,主要是由前17位乘以不同的系數,最後的總和除以11。在這種情況下,得到的余數,就是校驗碼。

那麼我們在反推的時候,就可以用身份證號乘於系數,當最後得出的余數和末尾校驗碼不同時,就代表這個身份證,是一個假的身份證,不符合我們國家的標准。另外,余數對應的數字不同,並不是說余數就一定是最後一位身份證號碼。

3、為什麼除以11

看到整個計算過程,我們會發現,想要得出校驗碼,並非一件易事。不過在計算中,有人可能會提出疑問,最終的除以為什麼是取11,而不是其他數字。

其實這個問題的答案很簡單,結合校驗碼的功能,11是最容易檢測出問題的存在。同時,它可以覆蓋到大多數身份證,方便進行校驗。畢竟一個國家人口眾多,校驗碼要做到盡可能覆蓋所有人。

Ⅱ 身份證校驗碼演算法公式

身份證校驗碼的計算主要分三步:

  1. 加權相乘:將身份證前17位號碼依次乘以對應的系數,系數依次為7、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4、2。例如,第1位數字乘以7,第2位乘以9,以此類推。
  2. 求和取余:把這17個乘積相加,然後將相加的結果對11取模(即求余數),令結果為Y,公式為Y = mod(S, 11) ,其中S為17個乘積的和。
  3. 查找校驗碼:根據Y的值,通過以下對應關系找到對應的校驗碼C:| Y(余數) | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 || --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- || C(校驗碼) | 1 | 0 | X | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 |

比如,某身份證前17位為12345678901234567,計算過程為1×7 + 2×9 + 3×10 + 4×5 + 5×8 + 6×4 + 7×2 + 8×1 + 9×6 + 0×3 + 1×7 + 2×9 + 3×10 + 4×5 + 5×8 + 6×4 + 7×2 = 327 ,327 mod 11 = 8,對應校驗碼為4,則該身份證完整號碼為123456789012345674。

閱讀全文

與身份證校驗演算法相關的資料

熱點內容
兩個網線如何連接同一伺服器 瀏覽:830
單片機在哪買 瀏覽:315
唯品會溯源碼掃碼怎麼防偽 瀏覽:375
數據壓縮經典案例 瀏覽:868
android開發者工具 瀏覽:849
python弧度變角度 瀏覽:974
元神文件夾空間不足怎麼辦 瀏覽:511
單片機流水燈發展 瀏覽:114
修手機的會改變編譯時間嗎 瀏覽:766
程序員見聞記2 瀏覽:575
解壓包子材料是啥 瀏覽:476
自建房帶院子app有什麼推薦 瀏覽:670
慧車天下用什麼app可以代替 瀏覽:772
樂府詩pdf 瀏覽:763
游戲伺服器查看地址 瀏覽:359
linuxcomposer安裝 瀏覽:620
python3騰訊視頻爬蟲 瀏覽:389
android功耗測試 瀏覽:584
app計費100一月什麼意思 瀏覽:459
手機內存卡里的文件夾如何加密 瀏覽:751