導航:首頁 > 編程語言 > 用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實現用戶身份驗證相關的資料

熱點內容
java網路編程實驗總結 瀏覽:82
linux下dns伺服器配置 瀏覽:704
我的命令是絕對的 瀏覽:929
助飛器app在哪裡下 瀏覽:61
無廣告win10解壓縮 瀏覽:473
台灣的伺服器怎麼選雲伺服器 瀏覽:810
群暉媒體伺服器平板上怎麼看 瀏覽:622
pdf文件怎麼轉換成jpg格式 瀏覽:720
程序員訓練時間 瀏覽:657
書簽主頁源碼帶後台 瀏覽:570
神舟顯卡驅動解壓有兩個文件夾 瀏覽:362
接受調度命令的過程中 瀏覽:803
銀行下一代app在哪裡 瀏覽:423
加密學習資料及答案 瀏覽:334
我來貸app在哪裡下載 瀏覽:953
羽化命令使用 瀏覽:360
php提權木馬源碼 瀏覽:656
趣充app實名認證在哪裡 瀏覽:419
java多線程習題 瀏覽:422
linuxpython27卸載 瀏覽:765