美文网首页
浅尝hashlib

浅尝hashlib

作者: HypotheticalLv | 来源:发表于2018-04-09 14:50 被阅读0次

1.是啥?

hashlib,故名思意,python的hash库,其中实现了多种hash方法,有md5,sha1,sha256等hash方法,可以用于加密。思想最主要的是把一段字符串转换成相对较短的数值。

2.咋用?

hashlib封装了不同的hash方法类,对其中一个方法初始化便会生成一个hash方法的对象。

import hashlib
origin_str = 'python'
md5 = hashlib.md5()
md5.update(origin_str.encode())#需将origin_str编码成bytes进行hash
md5.digest()#返回bytes类型的字符串的摘要,也就是hash值
#out b'#\xee\xebCG\xbd\xd2k\xfck~\xe9\xa3\xb7U\xdd'

但是这样二进制的hash值不是我们想要处理的形式

hash_value = int.from_bytes(md5.digest(),byteorder="big")
#out 47763518201550007491658205975564211677

此时再对这样的数值操作即可

bit_count=20
hash_code = hash_value%2**bit_count
#out 480733

3. 原理

掰扯掰扯其中的一些方法的具体实现.我先看看再说。

4. Tips

如果用到hash对象的update方法的话,相同原文会每次生成不同的hash_value,若要相同字符串每次生成同样的hash_value的话,将原文作为参数进行初始化即可。

相关文章

  • 浅尝hashlib

    1.是啥? hashlib,故名思意,python的hash库,其中实现了多种hash方法,有md5,sha1,s...

  • hashlib

    Menu hashlib定义 hashlib - MD5 hashlib - sha1 hashlib - sha...

  • python hashlib模块简介

    python hashlib模块简介 一、hashlib模块里有什么 hashlib模块提供了多种安全散列和消息摘...

  • 关于pycharm的hashlib问题

    今天偶然在使用hashlib的时候发现一个报错 pycharm导入hashlib模块后使用hashlib.md5(...

  • hashlib

    hashlib

  • MD5加密

    查看hashlib的标准文档 https://docs.python.org/2/library/hashlib....

  • hashlib

    MD5是最常见的摘要算法,速度很快,生成结果是固定的128 bit字节,通常用一个32位的16进制字符串表示。另一...

  • hashlib

    哈希算法:一个值,对应唯一一个值。

  • Python 入门之 内置模块 -- hashlib模块

    Python 入门之 内置模块 -- hashlib模块 1、hashlib 摘要算法,加密算法 (1)主要用途:...

  • python的MD5加密

    #MD5加密 import hashlib # 创建md5对象 hash= hashlib.md5() hash....

网友评论

      本文标题:浅尝hashlib

      本文链接:https://www.haomeiwen.com/subject/gjkihftx.html