本文声明
此文仅用于技术科普,教育与研究用途,请勿用于商业甚至非法用途,否则一切后果自负。若用户利用此文章而受到惩处,本人及本平台对其行为概不负责,亦不承担任何连带责任。
教程开始
学校要填写对学校的反馈,填写非本校的学生 或者输入错误 就会提示:
一张身份证18为号码分为几段 分别是
可以看到最后一位是判断真实性的
计算方法
上图身份证前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
再去找检验码位次值的表
对应的是8 所以 320702197501014038 是正确的 其他数就是错的
Python实现判断
小思路:
假设我知道她女朋友的出生身份和生日哈 当然越精确越好
姓名:xxx 出生地:黑龙江省哈尔滨市 生日:20010101 性别:女
xxxxxx20010101 xxx(顺序码) x(校验码)
顺序码 1-2 位 00-99 最后一位性别 [0,2,4,6,8]
把所有结果打印出来
district = ['230102', '230103', '230104', '230108', '230109', '230110', '230111', '230112',
'230113', '230123', '230124', '230125', '230126', '230127', '230128', '230129',
'230183', '230184']
birth = [i + '20010223' for i in district]
birth_two = [s + '0' + str(i) if i < 10 else s + str(i) for i in range(100) for s in birth]
gril = [a + str(i) for i in range(0, 9, 2) for a in birth_two]
last = [a + str(i) for i in range(9) for a in gril]
print(last)
#81000个
这时候在加上校验一下:
7363个欸 这时候可以写一个 异步爬虫 阔以很快
再见!!!!
© 版权声明
THE END
- 最新
- 最热
只看作者