破解火车票上的身份证号码 技术文章
首先我在百度上找到了一个他人的火车票图片
接着从图片里我们可以获取到信息如下:
姓名 梅勇
性别 男 (倒数第四位至倒数第二位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实现了一个有效性验证,代码如下:
var sfz_qian="4201171988"; var sfz_hou4="1638"; var sfzhm=""; for(i=1;i<=12;i++) { //为了程序的方便,我就假设每个月有31天 for(j=1;j<=31;j++){ if(i<10){ if(j<10){ sfzhm=sfz_qian+"0"+i+"0"+j+sfz_hou4; }else{ sfzhm=sfz_qian+"0"+i+j+sfz_hou4; } result=getvalidcode(sfzhm); if(result!=false){ console.log(result); } }else{ if(j<10){ sfzhm=sfz_qian+i+"0"+j+sfz_hou4; }else{ sfzhm=sfz_qian+i+j+sfz_hou4; } result=getvalidcode(sfzhm); if(result!=false){ console.log(result); } } } } function getvalidcode(sfzhm_new){ var sum=0; var weight=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]; var validate=['1','0','X','9','8','7','6','5','4','3','2']; for(m=0;m<sfzhm_new.length-1;m++){ sum+=sfzhm_new[m]*weight[m]; } mode=sum%11; if(sfzhm_new[17]==validate[mode]){ return sfzhm_new; }else{ return false; } }
代码运行后如下:
接着我们导出35条记录做为字典,拿到12306进行暴力添加常用联系人,最后我们得到了该图片上面的身份证号码了
文章来自网络.如有侵权,请联系管理员.
不用排队秒杀12306火车票绝招:一键添加hosts 技术文章
12306网购火车票的同学,如果出现页面加载缓慢,可以在C:\WINDOWS\system32\drivers\etc\hosts中添加一条记录:
122.228.243.22 dynamic.12306.cn
或者
61.183.42.94 dynamic.12306.cn
这是提供给铁道部给海外用户提供访问的CDN节点服务器,几乎没什么人,不需要排队!非常安全快速和靠谱!
添加完后,重启浏览器试试 速度是不是快了很多!
标签: 12306