# 加密模块 摘要算法 一堆加密算法的集合体 import hashlib # 给密码加密。 # 文件的校验。 # hashlib: 将str类型 通过算法 -----> 一串等长度的数字。 # 1,不同的字符串 转化成数字肯定不同。 # 2,相同的字符串即使在不同的计算机上只要使用相同的加密方式 转化成的数字一定相同。 # 3,hashlib加密不可逆,不能破解。 import hashlib # md5 加密 # ret = hashlib.md5() # ret.update('好123'.encode('utf-8')) # 51cb75f82eceb17b86f019e01618d75e # print(ret.hexdigest()) # # ret = hashlib.md5() # ret.update('fdsjfklasdfsdaflsdfjsldfjsdfsdjfdfdsffdsjfsldfdf'.encode('utf-8')) # 51cb75f82eceb17b86f019e01618d75e # print(ret.hexdigest()) # # ret = hashlib.md5() # ret.update('1'.encode('utf-8')) # 51cb75f82eceb17b86f019e01618d75e # print(ret.hexdigest()) # # # 经常设置的 111111 000000 123456 19890425 13582250000 password 等等,做了一个对应表,一一对去寻找 # ret = hashlib.md5() # ret.update('123456'.encode('utf-8')) # e10adc3949ba59abbe56e057f20f883e # print(ret.hexdigest()) # 加盐 # 让你的密码更复杂。 # ret = hashlib.md5('老男孩教育'.encode('utf-8')) # ret.update('123456'.encode('utf-8')) # b08404ec951d75b6da37fdd1bfb8c1e9 # print(ret.hexdigest()) # 动态的盐 # username = input('请输入用户名:') # ret = hashlib.md5(username[::2].encode('utf-8')) # ret.update('123456'.encode('utf-8')) # 765b4e7ed31b8aa07755d1c24c69d48c # print(ret.hexdigest()) # md5 加密效率快,通用,安全性相对差 # sha系列,算法更好 安全性高,效率低,耗时长 import hashlib # ret = hashlib.sha1() # ret.update('gjfds;gfjdgfkdg;lfdkg;fdlgk;fldgk;fldg'.encode('utf-8')) # print(ret.hexdigest()) # # # ret = hashlib.sha512() # ret.update('gjfds;gfjdgfkdg;lfdkg;fdlgk;fldgk;fldg'.encode('utf-8')) # print(ret.hexdigest()) # 文件校验。 # 文件较小用下面代码。 # def check_md5(file): # ret = hashlib.md5() # with open(file,mode='rb') as f1: # ret.update(f1.read()) # return ret.hexdigest() # print(check_md5('文件校验1')) # print(check_md5('文件校验2')) # ret = hashlib.md5() # ret.update('老男孩教育是最好的培训学校'.encode('utf-8')) # print(ret.hexdigest()) # b549bba39c1e6fd58865b2ba61a3bdff # ret = hashlib.md5() # ret.update('老男孩教育'.encode('utf-8')) # ret.update('是最好的'.encode('utf-8')) # ret.update('培训'.encode('utf-8')) # ret.update('学校'.encode('utf-8')) # print(ret.hexdigest()) # b549bba39c1e6fd58865b2ba61a3bdff # 大文件的校验: def check_md5(file): ret = hashlib.md5() with open(file,mode='rb') as f1: while 1: content = f1.read(1024) if content: ret.update(content) else: break return ret.hexdigest() print(check_md5('文件校验1')) print(check_md5('文件校验2')
模块三hashlib模块
最新推荐文章于 2022-12-23 11:13:50 发布