身份证校验码筛选正确的身份证

本文声明

此文仅用于技术科普,教育与研究用途,请勿用于商业甚至非法用途,否则一切后果自负。若用户利用此文章而受到惩处,本人及本平台对其行为概不负责,亦不承担任何连带责任。 

故事开始

学校要填写对学校的反馈,填写非本校的学生 或者输入错误 就会提示:

f84064d8ddfa

这时候 室友就想得到女友的身份证(就是想尝试一下啊,但没有试)

正文

一张身份证18为号码分为几段 分别是

1c4405455565

可以看到最后一位是判断真实性的

 

00b15be4c47b

计算方法

1167610aa17b

上图身份证前17位: 32070219750101403 

上面下面相乘再相加 用上面公式

S = 7*3+9*2+10*0+5*7+8*0+4*2+2*1+1*9+10*0+5*1+8*4+4*0+2*3 = 136

再去取模11   136 mod 11 = 4 

再去找检验码位次值的表

94c955cf2b28

对应的是8 所以 320702197501014038 是正确的 其他数就是错的

用python实现一下判断

 

小思路:

假设我知道她女朋友的出生身份和生日哈 当然越精确越好

姓名:xxx 出生地:黑龙江省哈尔滨市  生日:20010101 性别:

a73f59193837

 

xxxxxx20010101 xxx(顺序码)   x(校验码)

顺序码 1-2 位 00-99 最后一位性别 [0,2,4,6,8]

把所有结果打印出来

这时候在加上校验一下:

7363个欸  这时候可以写一个 异步爬虫 阔以很快

再见!!!!

分享

这时候用到猪哥的 之前讲的

36b6cab091cb

借鉴了

Web开发中15位和18位身份证号码 同时验证之探讨

https://www.iculture.cc/sg/pig=7391

请登录后发表评论