设计一个验证用户登录的函数,根据用户输入的口令是否正确,返回True或False —— python

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')

希望能够帮助到大家,有什么问题可以 直接评论即可,如果不够详细的话也可以说,我会及时回复的。

你可能感兴趣的:(Python)