开发随笔:身份证校验码

身份证校验码的计算方法如下:

  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这11个数字中的一个。这些余数分别对应的最后一位身份证的号码为1 0 X 9 8 7 6 5 4 3 2;

以网上搜索到的身份证号——440102198001021230举例,计算步骤如下:

  1. 用这个身份证号440102198001021230前17位的各位的数字依次和
    7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2的各位数字相乘,得到:
    28 36 0 5 0 8 2 9 48 0 0 9 0 10 8 8 6
  2. 将28 36 0 5 0 8 2 9 48 0 0 9 0 10 8 8 6这17个数字相加,得到177
  3. 计算177除以11的余数,得到:1
  4. 由于余数0 1 2 3 4 5 6 7 8 9 10依次对应身份证校验码
    1 0 X 9 8 7 6 5 4 3 2,所以余数1对应的身份证校验码就是0,也就是说身份证号440102198001021230的最后一位和我们计算出来的身份证校验码是一致的,说明这个身份证号是有效的,不是乱编的无效号码。
posted @   七月物语  阅读(89)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示