import hashlib
#加密的密码不可逆,解不了码
#md5 算法
# md5=hashlib.md5()
# md5.update(b'123456') #b 表示字节
# ret=md5.hexdigest()
# print(ret) #32位的加密字符串 e10adc3949ba59abbe56e057f20f883e
#sha 算法
# sha1=hashlib.sha1()
# sha1.update(b'123456')
# ret=sha1.hexdigest()
# print(ret) #40位加密字符串 7c4a8d09ca3762af61e59520943dc26494f8941b
# sha512=hashlib.sha512()
# sha512.update(b'123456')
# ret=sha512.hexdigest()
# print(ret)
#需要加盐
# md5=hashlib.md5('只有我知道的秘密'.encode('utf-8')) #转字节
# md5.update(b'123456')
# ret=md5.hexdigest()
# print(ret)
#动态加盐 非常超级安全
#每个用户名是唯一的
# user='2609768411'
# msg='只有我知道的密码%s'%user
#
# md5=hashlib.md5(msg.encode('utf-8'))
# md5.update(b'123456')
# ret=md5.hexdigest()
# print(ret)
# md5=hashlib.md5()
# md5.update('棒真棒非常棒'.encode('utf-8'))
# ret5=md5.hexdigest()
# print(ret5)
#上下密文一样 90c7f38c670fa6de4374ac6f9ac99afb
# md6=hashlib.md5()
# md6.update('棒'.encode('utf-8'))
# md6.update('真棒'.encode('utf-8'))
# md6.update('非常棒'.encode('utf-8'))
# ret6=md6.hexdigest()
# print(ret6)
#练习
#对比两个文件是否一致
# f1=open('print.txt',encoding='utf-8')
# md5=hashlib.md5()
# md5.update(f1.read().encode('utf-8'))
# ret5=md5.hexdigest()
# print(ret5)
#
# f2=open('print_copy.txt',encoding='utf-8')
# md6=hashlib.md5()
# md6.update(f2.read().encode('utf-8'))
# ret6=md6.hexdigest()
# print(ret6)
# print(ret5 == ret6)
# 方法2
def func(file_path):
md5=hashlib.md5()
with open(file_path,'rb')as f:
content=f.read()
md5.update(content)
ret=md5.hexdigest()
return ret
ret1=func('print.txt')
ret2=func('print_copy.txt')
print(ret1)
print(ret2)
print(ret1==ret2)