文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python模块——hashlib

2023-01-31 06:37

关注

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
    >>>


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯