破解火车票上的身份证号码

简介:

首先我在百度上找到了一个他人的火车票图片

接着从图片里我们可以获取到信息如下:

姓名 梅勇
性别 男 (倒数第四位至倒数第二位3位数为顺序码,顺序码为奇数所以为男性)
(可参考http://www.cnblogs.com/xudong-bupt/p/3293838.html)
来自 武汉市新洲区 (身份证号码前六位代表地区)
(可参考http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/200406/t20040607_38302.html)

身份证号码:4201171988xxxx1638

得到上述消息后,我们可以通过身份证号码验证算法对其进行有效性验证和排除。
(可参考http://www.cnblogs.com/xudong-bupt/p/3293838.html)

我用JS实现了一个有效性验证,代码如下:

复制代码
 1 var sfz_qian="4201171988";
 2 var sfz_hou4="1638";
 3 var sfzhm="";
 4 for(i=1;i<=12;i++)
 5 {
 6   //为了程序的方便,我就假设每个月有31天
 7   for(j=1;j<=31;j++){
 8         if(i<10){
 9             if(j<10){
10                 sfzhm=sfz_qian+"0"+i+"0"+j+sfz_hou4;
11             }else{
12                 sfzhm=sfz_qian+"0"+i+j+sfz_hou4;
13             }
14             result=getvalidcode(sfzhm);
15                 if(result!=false){
16                         console.log(result);
17                 }
18  
19         }else{
20             if(j<10){
21                                sfzhm=sfz_qian+i+"0"+j+sfz_hou4;
22                         }else{
23                                sfzhm=sfz_qian+i+j+sfz_hou4;
24                         }
25             result=getvalidcode(sfzhm);
26                     if(result!=false){
27                   console.log(result);
28                     }
29  
30         }        
31  
32         }
33     }
34  
35  
36  
37 function getvalidcode(sfzhm_new){
38  
39 var sum=0;
40 var weight=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];
41 var validate=['1','0','X','9','8','7','6','5','4','3','2'];
42 for(m=0;m<sfzhm_new.length-1;m++){
43 sum+=sfzhm_new[m]*weight[m];
44 }
45 mode=sum%11;
46 if(sfzhm_new[17]==validate[mode]){
47     return sfzhm_new;
48 }else{
49     return false;
50 }
51  
52 }
复制代码

代码运行后如下:

接着我们导出35条记录做为字典,拿到12306进行暴力添加常用联系人,最后我们得到了该图片上面的身份证号码了

本文转自 K1two2 博客园博客,原文链接:http://www.cnblogs.com/k1two2/p/4538375.html  ,如需转载请自行联系原作者

相关文章
|
9天前
各证件号码(身份证、护照、军官证、驾驶证、港澳台湾通行证、户口簿)正则表达式校验 完整正确
各证件号码(身份证、护照、军官证、驾驶证、港澳台湾通行证、户口簿)正则表达式校验 完整正确
21 0
|
7月前
|
JavaScript
js验证身份证号码是否正确(整理)
js验证身份证号码是否正确(整理)
|
10月前
通过身份证号码判断是否已成年
通过身份证号码判断是否已成年
128 0
|
11月前
|
存储 文字识别 小程序
小程序识别身份证,银行卡,营业执照,驾照
小程序识别身份证,银行卡,营业执照,驾照
|
API 定位技术 Python
别被骗了,通过手机号码归属地轻松辨别诈骗电话
通过手机号码归属地,我们可以大致了解一个人的所在地,这对于很多人来说是很有用的。
550 0
别被骗了,通过手机号码归属地轻松辨别诈骗电话
|
小程序 开发者
电商收付通,商户进件,上传身份证、营业执照自动识别相关信息
二级商户进件的时候,需要提交的资料不少,有一个繁琐的地方就是,不管选择哪种主体类型,都需要上传身份证人像面、身份证国徽面、身份证姓名、身份证号码、身份证居住地址、身份证开始时间和身份证结束时间这些要素。
207 0
电商收付通,商户进件,上传身份证、营业执照自动识别相关信息
|
CDN 架构师
没有“身份证”,网站无法在内陆通行!
没有“身份证”,网站无法在内陆通行!
110 0
没有“身份证”,网站无法在内陆通行!
L1-016 查验身份证 (15 分)
L1-016 查验身份证 (15 分)
134 0
7-54 查验身份证 (15 分)
7-54 查验身份证 (15 分)
76 0
2020-09-24L1-016 查验身份证
一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。
104 0