python——hashlib模块

提供多种哈希算法的模块。

哈希算法:又叫摘要算法,是一种给定输入计算出一种特殊的结果。哈希算法不可逆,比如输入一串字符串,输出一串奇怪的字符串,无法根据输出反向算出输入(除了暴力穷举破解)。

哈希算法可以用于校验文件一致性,对多个文件使用相同的哈希算法,若得到的结果相同,则表示文件完全相同,没有丢失或修改数据。

哈希算法有如下:
md5
sha1,sha224, sha256, sha384, sha512,
blake2b, blake2s
sha3_224, sha3_256, sha3_384, sha3_512
shake_128, shake_256……

在该模块中,以上算法都是类,可以调用产生相应的hash对象。

其中md5和sha1较常见,但是都可能发生碰撞。sha384 和sha512 在32位的平台上会较慢。
碰撞:不同的输入产生了相同的Hash结果。

该模块产生的hash对象具有以下四种方法

-update(data):对输入字节更新哈希对象。更新不是替换,重复调用和将所有输入字符串拼起来一次性调用,产生相同结果。
-digest():返回update方法中输入的hash结果,为bytes对象。
-hexdigest():与digest()类似,但是仅包含十六进制数字,长度是digest结果的两倍。
-copy():复制哈希对象并返回,可用于计算公共初始子字符串的数据hash结果。

用法举例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值