python:加密模块
加密:import hashlib
# import md5 #python2 中可以直接引入md5,3中没有 #md5 #md5加密是不可逆的,即不能解密。 #只要用MD5加密,结果都是一样的,不区分语言 #MD5加密的长度是固定的 pwd='12345' #字符串不能直接加密,必须是二进制类型 # print(pwd.encode()) #转为bytes类型 m=hashlib.md5(pwd.encode()) print(m.hexdigest()) #必须用hexdigest()打印 #判断文件下载是否完整: #下载前,网站把文件加密,下载后,再把下载后文件转为密文,校验下载前后的密文一致 ,即下载完整 #对文件sha265加密: f=open(r'C:\Users\94596\Downloads\PyMySQL-0.9.3-py2.py3-none-any.whl','rb') #读二进制文件用rb模式 #网站中给出的加密值:3943fbbbc1e902f41daf7f9165519f140c4451c179380677e6a848587042561a content=f.read() sha=hashlib.sha256(content) print(sha.hexdigest()) #如果下载后的文件,加密后密文跟网站上给出的密文一致,即下载完全
加盐: def my_md5(content,salt='@36jhjs!!*&'): #在输入的密码后加一个随机的字符串,即加盐,加盐后的密文跟原密码的密文已经不同。 #用户在登录时,也要在密码后加盐,跟原来加的盐应该时一样的 s=str(content)+salt s=str(content).encode() #转成byts m=hashlib.md5(5) return m.hexdigest()