python hashlib函数_python模块——hashlib

python模块——hashlib

hashlib模块是对许多hash函数的一个公共接口

new(name, string = '')    执行给定的hash函数来返回一个新的hash对象,使用给定的字符串数据初始化hash对象。如:

>>> import hashlib

>>> hashlib.new('md5', string='abc').hexdigest()    #hexdigest() 使加密后的结果以十六进制显示

'900150983cd24fb0d6963f7d28e17f72'

一些别的hash函数可用来代替new(),并且速度比new()函数快的多,常用的函数有: md5(), sha1(), sha224(), sha356(), sha384(), sha512()

提示:如果要用adler31()和crc32 hash函数,它们在zlib模块中可用。明智的选择hash函数,一些常见的错误如sha384和sha512在32位的平台上速度有些慢。

hash对象有以下常用方法:- update(arg):    使用string arg更新hash对象。多次调用update和使用串联的参数一次调用update是等价的

- digest():    返回二进制字符串

- hexdigest():    返回十六进制字符串

- copy():    返回hash对象的一个克隆,这可用于高效的计算共享一个相同初始子字符串的digests字符串。

下面例子,将会得到字符串'Nobody inspects the spammish repetition'的加密结果:>>> import hashlib

>>> m = hashlib.md5()    #创建一个加密对象

>>> m.update("Nobody inspects")    #更新字符串

>>> m.update(" the spammish repetition")

>>> m.digest()    #显示加密后的结果

'\xbbd\x9c\x83\xdd\x1e\xa5\xc9\xd9\xde\xc9\xa1\x8d\xf0\xff\xe9'

可以将多个函数在一行中使用:>>> hashlib.md5("Nobody inspects the spammish repetition").digest()

'\xbbd\x9c\x83\xdd\x1e\xa5\xc9\xd9\xde\xc9\xa1\x8d\xf0\xff\xe9'

关于对象一些方法:

object.digest_size    结果hash的大小

object.block_size    hash内部块的大小>>> import hashlib

>>> m.update("Nobody inspects")

>>> m.digest_size

16L

>>> m.block_size

64L

>>>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值