身份證最后一位校驗算法(ISO 7064:1983.MOD 11-2)


很多游戲賬號申請,或者某些網站注冊時需要填身份證號,當輸入錯誤的身份證號時會提示出錯,感覺好像真能識別身份證信息一樣,其實不然。

         實質上由於其沒有權限接入公安系統,它只能根據最后一位校驗位來判斷該身份證號碼是否有效,為了不泄露個人隱私,而又可以輕松的拿到賬號,可以偽造身份證號,前17為自己隨機偽造,只需要計算出最后一位校驗位即可。

 

ISO 7064:1983.MOD11-2校驗碼計算法 : (身份證校驗碼-18)

假設某一17位數字是

17位數字       1     2     3     4     5     6     7     8     9     0     1     2     3     4     5     6     7

加權因子 7     9     10    5     8     4     2     1     6     3     7     9     10    5     8     4     2

計算17位數字各位數字與對應的加權因子的乘積的和S1×72×93×104×55×86×47×28×19×60×31×72×93×104×55×86×47×2368

計算S÷11的余數T368 mod 115

((  余數010對應校驗碼為[1, 0, X , 9, 8, 7, 6, 5, 4, 3, 2],算法如下 ))

計算(12-T÷11的余數R,如果R10,校驗碼為字母“X”;如果R≠10,校驗碼為數字“R”:(12-5mod 117

17位數字的校驗碼就是7,聚合在一為123456789012345677

 

使用以上算法計算一下自己身份證最后一位,即可知道算法正確與否。

 

原文鏈接:https://blog.csdn.net/n289950578/article/details/22287389


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM