設計一個驗證使用者登入的函式,根據使用者輸入的口令是否正確,返回True或False —— python
阿新 • • 發佈:2019-01-06
1. 題目:
設計一個驗證使用者登入的函式,根據使用者輸入的口令是否正確,返回True或False
題目是廖雪峰老師的python教程中hashlib的練習。
本篇博文只是針對這一題目,沒有做詳細的介紹,如果看不懂可以在下面評論問我,我會及時回覆的。
2. 程式碼如下:
import hashlib
def calc_md5(password):
md5 = hashlib.md5() # 呼叫md5方法
md5.update(password.encode('utf-8')) # 對password進行跟新
return md5.hexdigest( ) # 計算返回
def login(user, password):
for k, v in db.items(): # 迴圈db中資料
if k == user: # 匹配user
if calc_md5(password) == v: # 匹配password
return True
else:
return False
db = {
'michael': 'e10adc3949ba59abbe56e057f20f883e',
'bob' : '878ef96e86145580c38c87f0410ad153',
'alice': '99b1c2188db85afee403b1536010c2c9'
}
# 測試:
assert login('michael', '123456')
assert login('bob', 'abc999')
assert login('alice', 'alice2008')
assert not login('michael', '1234567')
assert not login('bob', '123456')
assert not login('alice', 'Alice2008')
print ('ok')
希望能夠幫助到大家,有什麼問題可以 直接評論即可,如果不夠詳細的話也可以說,我會及時回覆的。