linux python hashlib,Python的hashlib模块学习

python的hashlib模块提供一些常用的加密功能

例如获取字符串'Nobody inspects the spammish repetition'的MD5校验值In [48]: import hashlib

In [49]: m=hashlib.md5()

In [50]: m.update('Nobody inspects')

In [51]: m.update('the spammish repetition')

In [52]: m.digest()

Out[52]: '%\x8d3\xf9,:k\xe0?\xbb0+\xc4K\x94S'

In [53]: m.digest_size

Out[53]: 16

In [54]: m.block_size

Out[54]: 64

In [55]: m.hexdigest()

Out[55]: '258d33f92c3a6be03fbb302bc44b9453'

In [56]: m.digest_size

Out[56]: 16

In [57]: m.block_size

Out[57]: 64

这里定义一个HASH对象m,使用hashlib模块提供的md5()函数,还可以是

md5(), sha1(), sha224(), sha256(), sha384(), and sha512()

也可以根据操作系统提供的HASH算法,使用new()选择OpenSSL库提供的加密算法

sha384和sha512在32位系统上使用会比较慢

update(arg)  更新HASH对象,重复使用update(arg)等价于一次更新多个字符串的组合

m.update(a)和m.update(b)等价于m.update(a+b)

digest()   返回加密后的字符串

hexdigest()  返回加密码后的16进制字符串

digest_size  是加密后的哈希值字节

block_size  数据块大小

案例:def getMd5(strFile):

fh=open(strFile,"rb")

m=md5()

strRead=""

while True:

strRead=fh.read()

if not strRead:

break

m.update(strRead)

strMd5=m.hexdigest()

if fh:

fh.close()

return strMd5

print getMd5(__file__)

参考文章:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值