导航:首页 > 源码编译 > 身份证校验算法

身份证校验算法

发布时间: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
单片机流水灯发展 浏览:115
修手机的会改变编译时间吗 浏览:766
程序员见闻记2 浏览:575
解压包子材料是啥 浏览:476
自建房带院子app有什么推荐 浏览:670
慧车天下用什么app可以代替 浏览:772
乐府诗pdf 浏览:763
游戏服务器查看地址 浏览:359
linuxcomposer安装 浏览:620
python3腾讯视频爬虫 浏览:389
android功耗测试 浏览:584
app计费100一月什么意思 浏览:459
手机内存卡里的文件夹如何加密 浏览:751