efox 发表于 2016-11-22 00:22

身份证号码杂谈。。。校验码

身份证的最后一位校验码是根据前面十七位数字码,专门的规则计算出来的检验码。
  将身份证号码前17位数分别乘以系数,系数规则为7、9、10、5、8、4、2、1、6、3,到第11位重新循环,即7、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4、2,将乘积累加后除以11所得余数,按照余数对应编码的方式得出校验码。
  余数与校验码对应关系见下列:

  余数:0,1,2,3,4,5,6,7,8,9,10
  编码:1,0,X,9,8,7,6,5,4,3,2

  有说法表示X是引自罗马数字10的含义,虽然校验码规则并没有明确这一含义,以此方式理解并不影响校验码的作用本身。
  也就是说如果按照前面的乘系数累加除11求余数的计算得出结果为2的话,在身份证的末位显示就是X了。
  按照身份证的编码规则与校验码相结合,可以实现对身份证号码的有效性进行核对的功能。

  通过对前面的号码进行计算得出校验码的方式已经很普遍地用于各种编码规则中,比如我们使用的银行卡号也有同样的规则设计。类似的方式可以在很大程度上避免不法分子以穷举的方式列出身份证号、银行卡号等信息;还可以直接在人机交互中加入对校验码的推算核对功能进行初步的筛查。

铅耳朵 发表于 2016-11-22 07:32

纽币。
页: [1]
查看完整版本: 身份证号码杂谈。。。校验码