作為測試,我從百度上找了一張別人的身份證
從火車票中,大概可以獲取以下信息
姓名 馬子章
性別 男 (18位身份證倒數第二位為順序碼,順序碼為奇數為男性,偶數為女性)
不完整身份證號:3702031988****8611
通過以下程序可以生成一批可能是他的身份證號
#coding:utf-8
import time
# 身份證號 3702031988****8611
# 姓名 馬子章
s="3702031988****8611"
sfz = [s.replace('****',j[4:]) for j in [time.strftime('%Y%m%d',time.localtime(i)) for i in range(int(time.mktime(time.strptime(s[6:10]+'0101','%Y%m%d'))),int(time.mktime(time.strptime(s[6:10]+'1231','%Y%m%d')))+1,3600*24)] if s[-1] == '10X98765432'[sum(map(lambda x: int(x[0]) * x[1], zip(s.replace('****',j[4:]), [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]) )) % 11]]
for i in sfz:
print i
生成的號碼如下:
370203198801048611
370203198801128611
370203198801208611
370203198802198611
370203198802278611
370203198803078611
370203198803158611
370203198803238611
370203198803318611
370203198804038611
370203198804118611
370203198805188611
370203198805268611
370203198806068611
370203198806148611
370203198806228611
370203198806308611
370203198807028611
370203198807108611
370203198807298611
370203198808098611
370203198808178611
370203198808258611
370203198809058611
370203198809138611
370203198809218611
370203198810198611
370203198810278611
370203198811078611
370203198811158611
370203198811238611
370203198812038611
370203198812118611
現在需要在這些里面找到和 馬子章 對應的身份證號。
通常一些實名認證的網站通常可以做到(以NATAPP舉例):
在我的賬戶 → 實名認證
如果姓名和身份證號碼對應,如下圖所有(請注意粉紅色提示語):
如果你的身份證號和姓名不符合,則如下圖所示:
所以,坐火車記得保管好你的票
僅作技術交流,勿用作非法用途!