使用hashlib实现md5加密

文章展示了如何使用Python的hashlib库进行MD5加密,通过定义get_md5函数进行数据加密,然后模拟用户注册和登录过程,将加密后的用户名和密码存储到文件中,并在登录时比对加密后的信息以验证身份。
摘要由CSDN通过智能技术生成
"""
使用hashlib实现md5加密
"""
import hashlib
obj = hashlib.md5()
s = 'hello world'
obj.update(s.encode('utf-8'))
print(obj.hexdigest())

使用hashlib就能实现md5的加密方法,这里是将hello world进行了md5加密,在一些网站登录的时候通常会通过比较用户名和密码的MD5值来登录,可以写一个利用md5加密模拟用户登录的案例

"""
使用hashlib实现md5加密
"""
import hashlib
def get_md5(data):
    """
    将输入的数据进行md5加密并返回
    :param data:
    :return:
    """
    obj = hashlib.md5()

    obj.update(data.encode('utf-8'))
    return obj.hexdigest()

def register(username,password):
    """
    模拟用户注册,将加密后的用户名和密码写入一个文件
    :param username:
    :param password:
    :return:
    """
    md5_username = get_md5(username)
    md5_password = get_md5(password)
    with open('user.txt','w+') as write:
        write.write(md5_username)
        write.write('\n')#实现换
        # 号
        write.write(md5_password)

def login(username,password):
    login_name = get_md5(username)
    login_password = get_md5(password)
    lines = open('user.txt').readlines()
    print(lines,login_name,login_password)
    return  str(lines[0]).strip() == str(login_name) and str(lines[1]).strip() == str(login_password)

# name = input("请输入注册用户名")
# password = input("请zhuc输入密码")
# register(name,password)

if __name__ == '__main__':
    while True:
        name = input("请输入用户名")
        password = input("请输入密码")
        if login(name,password):
            print(f"""
                    ----------------------
                   |                         
                   |     欢迎来到用户界面       
                                             |  
                   |                         |
                   |     welcome {name}      |
                   |______________________   |
            """)
            print('登入成功')
            break
        else:
            print('登录失败')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值