python全栈开发:hashlib加密
哈希加密代码
#!/usr/bin/env python # -*- coding;utf-8 -*- """ 哈希加密模块中有很多算法,调用不同的算法执行不同的加密,只需要修改调用模块,其他代码不用修改 """ import hashlib # 对相同字符串进行相同加密算法会得到相同结果 # 为了提高加密效果自定义一个字符串,与要第一次加密的内容在进行加密 # 别人不知道已给的字符串,通过123执行加密得不到最后的密文 hash = hashlib.md5(bytes("你的生日", encoding="utf-8")) hash.update(bytes("123", encoding="utf-8")) print(hash.hexdigest())
基于md5对密码加密实现登录和注册
#!/usr/bin/env python # -*- coding;utf-8 -*- import hashlib """ 哈希加密模块中有很多算法,调用不同的算法执行不同的加密,只需要修改调用模块,其他代码不用修改 """ """ import hashlib # 对相同字符串进行相同加密算法会得到相同结果 # 为了提高加密效果自定义一个字符串,与要第一次加密的内容在进行加密 # 别人不知道已给的字符串,通过123执行加密得不到最后的密文 hash = hashlib.md5(bytes("你的生日", encoding="utf-8")) hash.update(bytes("123", encoding="utf-8")) print(hash.hexdigest()) """ def md5(arg): hash = hashlib.md5(bytes("你的生日", encoding="utf-8")) hash.update(bytes(arg, encoding="utf-8")) return hash.hexdigest() def login(user, pwd): with open("db", "r", encoding="utf-8") as f: for line in f: a, b = line.split("|") if a == user and b == md5(pwd): return True else: return False def regiser(user, pwd): with open("db", "a", encoding="utf-8") as f: temp = user + "|" + md5(pwd) + "\n" f.write(temp) return True def inp(): user = input("请输入用户名:\n>>>") pwd = input("请输入密码:\n>>>") return user, pwd if __name__ == "__main__": a = input("1、登录;2、注册\n>>>") if a == str(1): user, pwd = inp() if login(user, pwd): print("登陆成功!") else: print("登陆失败!") elif a == str(2): user, pwd = inp() if regiser(user, pwd): print("注册成功!") else: print("注册失败!")