身份证校验码算法

标签: , ,

下载了某个对战平台,注册账号的时候居然要填身份证号码,你以为你是警察啊?随便百度一个填上去,顺便看了一下身份证校验码的算法。

公民身份号码是由17位数字码和1位校验码组成。排列顺序从左至右分别为:6位地址码,8位出生日期码,3位顺序码和1位校验码。

地址码和出生日期码很好理解,顺序码表示在同一地址码所标识的区域范围内,对同年同月同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。

身份证最后一位校验码算法如下:

1. 将身份证号码前17位数分别乘以不同的系数,从第1位到第17位的系数分别为:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2

2. 将得到的17个乘积相加。

3. 将相加后的和除以11并得到余数。

4. 余数可能为0 1 2 3 4 5 6 7 8 9 10这些个数字,其对应的身份证最后一位校验码为1 0 X 9 8 7 6 5 4 3 2。

哪位大神知道校验码有什么用?

赞赏

微信赞赏支付宝赞赏

随机文章:

  1. Python pdfplumber内存泄露问题解决方案
  2. 桌面上出现无法删除图标的解决方法
  3. 用C语言实现PHP的urlencode函数
  4. Unable to find the socket transport "ssl" – did you forget to enable it when you configured PHP?
  5. 用Tiny C Compiler编译Lua

2 条评论 发表在“身份证校验码算法”上

  1. 路过说道:

    通过校验码可以计算出你提供的身份证号码是否有效呗。
    前段时间因为需要有写过VIN和身份证的随机生成脚本,所以稍微有一点心得。

  2. 我的想法说道:

    设想这样一种场景:当输入长长的一串数字时,很容易不小心输错了一位,这时候就可以用校验数字,一定程度上进行校验,类似于IP的校验和。

留下回复