python常用模块-hashlib模块

hashlib的基本概念

hash是一种摘要算法(不同的hash算法只是复杂度不一样)(3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法),该算法接受传入的内容,经过运算得到一串hash值,且此hash值无法反向运算成传入的值。

基本特点

  • 对同样的内容进行hash每次的值必然相同
  • 每次hash形成的长度必然一样
  • 无法通过运算返解

模块基本方法

hashlib.md5(['str'.encode('编码方法')])
返回一个hash对象,可以加入初始对象来作为初始key,也可以不加,其中md5算法可以替换为现在常用的sha256

hash.update('str'.encode('utf8'))
可以将一个hash对象传入内容来进行hash,无法进行将结果赋予一个变量

hash.hexdigest()
生成hash值的函数

import hashlib

my_hash = hashlib.sha256("admin".encode("utf-8"))
my_hash.update("hello".encode("utf-8"))
my_hash = my_hash.hexdigest()
print(my_hash)
#98baa6003b9271087644eaa33b22e625d55ed767a9cdf45c1f5aff89f58b5087

实例

检验两个文件是否为同一个文件

import hashlib
m = hashlib.md5()
with open(r'G:/logging模块配图.png','rb') as f:
    for line in f:
        m.update(line)
print(m.hexdigest())          #47a6b079cc33a4f312786b46e61e0305

m1 = hashlib.md5()
with open(r'H:/logging模块配图.png','rb') as f1:
    for line in f1:
        m1.update(line)
print(m1.hexdigest()) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值