A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵力 中级黑马   /  2012-6-29 20:01  /  3065 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

看到许庭洲  在一个帖子中回复关于二代身份证验证的问题 严重表示不理解,求详细解释。。谢谢。
  举个二代身份证是否是真的小例子:某男性的身份证号码是34052419800101001X。我们要看看这个身份证是不是合法的身份证;
首先:将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7. 9 .10 .5. 8. 4. 2. 1. 6. 3. 7. 9. 10. 5. 8. 4. 2. ,可得出,前17位的乘积和是189 ;
然后:用189除以11得出的结果是17 + 2/11,也就是说余数是2;
最后:通过对应规则就可以知道余数2对应的数字是x。所以,这是一个合格的身份证号码。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

6 个回复

倒序浏览
你这是提问还是自问自答,你也看到了第18位是根据前17位计算出来的,所以如果一个人随便写18位的身份号码百分之90第18位验证码跟前17位函数求出来的不一样,那么这就不是一个合法的身份证(也就是瞎写的,但合法的也未必是真实的,因为你知道这个函数后前17位瞎写后自己计算出18位就合法了)。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
悟凡 发表于 2012-6-29 23:58
你这是提问还是自问自答,你也看到了第18位是根据前17位计算出来的,所以如果一个人随便写18位的身份号码百 ...

哦 这样子我一直以为这第18位是随机给的 原来是计算出来的,这个从来没听说过 很是纳闷 所以才有此问。
回复 使用道具 举报
某男性的身份证号码是34052419800101001X,身份证的最后一位是校验码,从1-10,如果排到10的话,号码就会多一位,因此采用罗马数字X,表示10。
回复 使用道具 举报

            身份证号码组成介绍:
             身份证是由17位数字和一个 效验码(最后一位)组成
            
             效验码的算法
                效验码=(12-前17位数每位数的数权和%11)%11
            
                数权=此位数的位权*此数
            
                位权=2的序列号此幂%11
            
                身份证的序列号是从左到右是17-1的排序的

       这里涉及到几个词:效验码、数权、位权、序列号,读起来比较绕,多读几遍对比身份证号码看,就好理解点;

       希望对你有帮助.....

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
顺便科普点身份证的小知识:
   前六位是地区
   中间八位是出生年月日
   后两位是你当天出生的次序(并非绝对)
     第十七位是性别位:单数为男,双数为女
   最后一位是效验码:算出来的效验码如果是等于10就是字母X,否则就是次数
虽然中国人多,这样的算法还是能保证没有重号的{:soso_e113:}

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
了解!没事还得多多普及一下自己的常识!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马