hashlib加密模块——day17

hashlib 加密
import hashlib————————————加密模块的调用
1.什么是hash
hash时一种算法,该算法接受一系列的数据,经过运算得到一个hash值
hash值具备三大特性
1.只要传入的内容一样,那么得到的hash值一定是一样的
2.只要采用hash算法固定,无论传入的内容多大,hash值得长度是固定的
3.hash值不可逆,即不能通过hash值逆推出内容
2.为何要用hash
特征1+2=>文件完整性校验
特征3=>本来不可以破解但是 已经被破解了
m=hashlib.md5()————————————设定加密算法
m.update('你好'.encode('utf-8'))————————传入要加密的内容
m.update('hello'.encode('utf-8'))————————可以多次传入内容
print(m.hexdigest()) ————————————hexdigest得到加密后的结果
结果:65c83c71cb3b2e2882f99358430679c

m2=hashlib.sha512()————————改变加密算法

加密文件方法
with open(r'D:\脱产5期内容\day17\今日内容',mode='rb') as f:
m=hashlib.md5()
for line in f:
m.update(line)
print(m.hexdigest())

加强加密方法:在要加密的文件中添加字符,也可以按百分比添加
pwd=input('password>>> ').strip()
m=hashlib.md5()
m.update('天王盖地虎'.encode('utf-8'))
m.update(pwd.encode('utf-8'))
m.update('一行白鹭上青天'.encode('utf-8'))
print(m.hexdigest())

posted @ 2018-12-06 15:24  WenChen-0o0  阅读(111)  评论(0编辑  收藏  举报