hashlib模块

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)

 

posted @ 2022-06-30 10:02  爱coding的果妈  阅读(24)  评论(0)    收藏  举报