五、python中MD5加密


import hashlib

'''
用于加密相关的操作,代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法
'''
##############MD5#################
def func_MD5(string):
hash=hashlib.md5()
hash.update(string)
m=hash.hexdigest()
print (m)
func_MD5("123")

######## sha1 #####################
def func_sha1(string):
hash = hashlib.sha1()
hash.update(bytes(string))
print(hash.hexdigest())
func_sha1("123")
# ######## sha256 ########
def func_sha256(string):
hash = hashlib.sha256()
hash.update(bytes(string))
print(hash.hexdigest())
func_sha256("123")
# ######## sha384 ########
def func_sha384(string):
hash = hashlib.sha384()
hash.update(bytes(string))
print(hash.hexdigest())
func_sha384("123")
# ######## sha512 ########
def func_sha512(string):
hash = hashlib.sha512()
hash.update(bytes(string))
print(hash.hexdigest())

func_sha512("123")
'''
以上加密算法虽然厉害,但存在缺陷,可通过撞库可以反解。所以,有必要对加密算法中添加自定义key再来做加密。
'''

def func_MD5_deep(string):
hash=hashlib.md5(bytes("sdfgdfsgsdf")) #key加密
hash.update(string)
m=hash.hexdigest()
print(m)

func_MD5_deep("123")
-----------------------------------------------------------------

   202cb962ac59075b964b07152d234b70
   40bd001563085fc35165329ea1ff5c5ecbdbbeef
   a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3
   9a0a82f0c0cf31470d7affede3406cc9aa8410671520b727044eda15b4c25532a9b5cd8aaf9cec4919d76255b6bfb00f
   3c9909afec25354d551dae21590bb26e38d53f2173b8d3dc3eee4c047e7ab1c1eb8b85103e3be7ba613b31bb5c9c36214dc9f14a42fd7a2fdb84856bca5c44c2
   066290ee749d0cc66116a3f55ecc241c

-----------------------------------------------------------------
'''
练习题:注册登录加密函数
'''
def fun_md5(arg):
hash=hashlib.md5(bytes("1232..gg"))
hash.update(arg)
m=hash.hexdigest()
return m

def register(user2,pwd2):
with open("denglu.db","wb") as f:
temp=user2+"|"+fun_md5(pwd2)
f.write(temp)
def login(user1,pwd1):
with open("denglu.db","r") as f:
for line in f:
a,b=line.strip().split("|")
if user1==a and fun_md5(pwd1)==b:
print("登录成功!")
else:
print("用户名和密码不匹配!")
def func():
temp=input("1:登录,2注册")
if temp==1:
user = raw_input("请输入用户名:")
pwd = raw_input("请输入密码:")
login(user,pwd)
else:
user = raw_input("请输入用户名:")
pwd = raw_input("请输入密码:")
register(user,pwd)

func()

转载于:https://www.cnblogs.com/chushujin/p/9294155.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值