导航:首页 > 编程语言 > 用python实现用户身份验证

用python实现用户身份验证

发布时间:2025-06-10 11:51:22

Ⅰ 用python校验身份证号码真伪

#这个算法都给了,应该比较简单吧。我也很菜,随意写了一个。异常没做,你可以自##己加一下。做一些验证过滤。不知道随机是不是真是随意随机,我没有按照身份证规##则做随机。是真的随机了18位。。。如果你有规则,也可以自己写一个。
importrandom

yushu=[xforxinrange(0,11)]
ma=['1','0','X','9','8','7','6','5','4','3','2','1']

defyanzheng(nid):

dicma=dict(zip(yushu,ma))

sum=0

forx,yinenumerate(nid[:-1]):

sum+=((2**(18-x-1))%11)*int(y)#17位对应系数相乘的和

ifnid[-1]==dicma[sum%11]:#校验码对照
return'%sTrue'%nid
else:
return'%sFalse'%nid
defreadfile(fname):
f=open(fname,'rb')
forlineinf.readlines():
printyanzheng(line.strip())
f.close()
defrandnum():
idstr=''
foriinrange(17):#前17位随机
idstr+=str(random.randint(0,9))

idstr+=random.choice(ma)#最后一位从列表种随意一个,因为有X
returnidstr


if__name__=="__main__":
nid=raw_input('PleaseenteryourID:')#用户输入ID,没做任何验证
printyanzheng(nid)#验证身份证
readfile('id.txt')#从文件读出来再验证
printyanzheng(randnum())#随机一个在验证

Ⅱ 利用Python随机生成身份证号码

在处理身份数据时,Python能提供高效且便捷的解决方案,特别是生成符合规则的身份证号码。以下步骤将引导您完成这一过程。

首先,了解身份证号码的规则:根据《中华人民共和国国家标准GB 11643-1999》,身份证号码由六位地址码、八位出生日期码、三位顺序码和一位校验码组成。顺序码奇数对应男性,偶数对应女性。校验码通过ISO 7064:1983的MOD 11-2方法计算得出。

其次,获取地区数据表:这些数据表可从互联网上找到,包含对应地区代码。

接下来,编写Python代码以生成符合规则的身份证号码:

python
import random
import string

def generate_id():
# 随机生成地址码、出生日期码、顺序码
address_code = ''.join(random.choices(string.digits, k=6))
birth_date = ''.join(random.choices(string.digits, k=8))
gender = '1' if random.randint(0, 1) == 0 else '2' # 生成随机性别,奇数对应男性,偶数对应女性
sequence = str(random.randint(0, 999)) # 随机生成三位顺序码

# 计算校验码
def checksum(code):
weights = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
total = sum(int(code[i]) * weights[i] for i in range(17))
return str((11 - total % 11) % 10)

id_code = address_code + birth_date + sequence + checksum(address_code + birth_date + sequence)

return id_code

# 测试生成的身份证号码
print(generate_id())

以上代码提供了一个生成身份证号码的示例,确保生成的号码符合身份证号码的规则。如有任何疑问或发现错误,请随时提出,以便修正。

阅读全文

与用python实现用户身份验证相关的资料

热点内容
linux判断是否为文件 浏览:937
手机处理器编译器 浏览:704
ug曲线点倒角编程 浏览:928
当算法把人驯服 浏览:710
字母r编程 浏览:576
编译openwrt添加型号 浏览:275
快眼看app哪里下载 浏览:11
手机上门禁卡加密怎么处理 浏览:857
2019年税务师教材pdf 浏览:503
android支付宝源码 浏览:942
建造师加密锁怎么办 浏览:301
邮箱在线文档怎么设文件夹 浏览:876
区块链编译eth 浏览:783
安卓手机软件如何给照片加发光点 浏览:979
结构性存款在app哪里 浏览:970
iphone如何快速打开app 浏览:800
好玩的程序员笑话 浏览:82
linux下如何搭建web服务器 浏览:222
狼群之饥和命令之眼 浏览:369
xp使用telnet命令 浏览:159