设计一个验证用户登录的函数,根据用户输入的口令是否正确,返回True或False
题目是廖雪峰老师的python教程中hashlib的练习。
本篇博文只是针对这一题目,没有做详细的介绍,如果看不懂可以在下面评论问我,我会及时回复的。
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')
希望能够帮助到大家,有什么问题可以 直接评论即可,如果不够详细的话也可以说,我会及时回复的。