你好,请花5分钟耐心看完这篇文章,你就能弄清楚下面这些事情:
划重点:本文最后面有免费福利哦!
用完的火车票你会怎么做,直接扔掉还是发个朋友圈再扔掉?如果你这样做,那别人只需要1.53秒就可以知道你的名字和身份证号码。
公民身份号码是国家法定的证明公民个人身份的号码,每个公民的身份证号码是唯一且终身不变的,也就是说,即便你从四川搬到上海居住,甚至户籍迁到上海,身份证号码依然不变。
01
关于身份证号码,你念对了吗?
身份证号码一共有18位,而且每一位都有特定的含义。因此,我们在记忆或念身份证号码的时候应该按照它的含义停顿。身份证号码含义如下:
说明:上述身份证号码及本文中其他身份证号码均是系统随机生成,如有相同,纯属巧合。
02
为什么有的身份证号码只有15位?
第一代身份证是15位,第二代身份证是18位。与第二代身份证相比,第一代身份证的出生日期码中的年份只有两位数,即1990年,表示为90。此外,第一代身份证也没有最后的校验码。因此,第一代身份证只有15位数字。
03
你的身份证号码很容易破解吗?
当然!
火车票上有四位数字是隐藏的,现在你已经知道这4位数字其实就是出生月份和日期。这样做的目的是为保护个人隐私,但事实上,这种保护措施几乎没什么用。
因为,出生月份和日期最多只有366种可能,因此,你可以用最简单的暴力破解方法,也就是逐一验证火车票上的姓名与366种可能的身份证号码是不是匹配,这时你只需要一个可以验证公民身份证号码的系统就行。而在12306的后台就可以进行这项简单的操作。
首先,在12306常用联系人中输入姓名和身份证号码。
然后等待大约5到10分钟后,系统会提示是否通过。
很显然,这种方法效率太低,因为,你不得不尝试366种可能性。有没有更快捷的方法呢?
当然有,因为我已经说过,破解你的身份证号码只需要1.53秒。
04
1.53秒如何破解你的身份证号码?
前面已经说了,最后一位校验码是通过身份证号码的前17个数字按照一定的计算规则计算而来的身份证号随机,因此,只要按照同样的计算方法事先逐一计算366个可能的身份证号码,看看得到的校验码是不是与火车票上校验码相同即可。
相关计算规则非常简单,网上也很容易查到,这里就不再多讲;而快速计算366种可能性所需要用到的程序代码,即便是一个计算机初学者也很容易写出来。
我利用Python对2631个真实的身份证号码进行计算,发现任意一个身份证号码,满足其验证码的身份证组合最少有32种可能性,最多只有36种可能性。
假如火车票中的身份证号码是5101041990****3489,将该身份证号码输入Python程序中,得到符合条件的身份证号码共计35个。
然后再拿这35个可能的身份证号码到12306后台逐一验证,很快就可以得到真实的身份证号码。但是,1.53秒显然无法验证这35个可能的身份证号码,有没有更快的方法呢?当然有,因为我已经说过,破解你的身份证号码只需要1.53秒。一些公司会提供实名认证的业务,包括身份证实名认证、手机号实名认证、银行卡实名认证、汽车实名认证等等。可以将姓名和身份证号码输入系统中,查看是否匹配身份证号随机,其作用和12306一样。
因此,首先利用上面的程序计算出35种可能的身份证号码,然后再调用这些公司提供API接口,由程序自动的、逐一的将姓名和身份证号码输入系统中,如果网络畅通的情况下,从输入姓名和火车票上被隐藏的身份证号码,到匹配出正确的身份证号码只需要1.53秒甚至更快。
所以,以后你的火车票不要再直接扔掉,更不要发朋友圈,最好是撕碎后再扔掉,当然,现在也可以不取票直接用身份证检票!
关于本文中提到的程序代码,不要走开,且听下回分解!
免费福利来了…
想知道他/她的手机号或邮箱注册过哪些网站,了解他/她的喜好吗?
想知道你的密码是不是被泄露以及被哪些网站泄露吗?
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,加站长微信免费获取积分,会员只需38元,全站资源免费下载 点击查看详情
站 长 微 信: thumbxmw