美文网首页
hashlib的使用

hashlib的使用

作者: 有趣的恶魔QAQ | 来源:发表于2019-10-30 14:19 被阅读0次

一、基本概念

1.什么是hash?

  hash是一种算法(不同的hash算法只是复杂度不一样)(3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512MD5 算法),该算法接受传入的内容,经过运算得到一串hash

2.hash值的三大特性:

  ① 只要传入的内容一样,得到的hash值必然一样
  ② 不能由hash值返解成内容
  ③ 只要使用的hash算法不变,无论校验的内容有多大,得到的hash值长度是固定的

二、hash值产生的三步骤

1.md5
import hashlib
""" 造出hash工厂 """
md5 = hashlib.md5('hahaha'.encode('utf8'))
""" 往工厂运送原料 """
md5.update('ha'.encode('utf8'))  """工厂传入的原料都为bytes类型"""
""" 产出hash值 """
print(md5.hexdigest())  # '4f0b36a34946153c358f8b243428a1eb'

以上也可以写成

import hashlib
md5 = hashlib.md5()
md5.update('hahahaha'.encode('utf8'))
print(md5.hexdigest())  # '4f0b36a34946153c358f8b243428a1eb'

结论:只要传入的内容一样,即便是拆分成两部分,产出的hash值也是一样的!

2.sha256
import hashlib
""" 造出hash工厂 """
hash = hashlib.sha256('hahaha'.encode('utf8'))
""" 往工厂运送原料 """
hash.update('ha'.encode('utf8'))
""" 产出hash值 """
print(hash.hexdigest())  # 6955b2914394a4d173715e0c6fd3922cb2e4397463351d60c40eac27882fac0c

也可以写成

import hashlib
''''''
hash = hashlib.sha256()
hash.update('hahahaha'.encode('utf8'))
print(hash.hexdigest())  # 6955b2914394a4d173715e0c6fd3922cb2e4397463351d60c40eac27882fac0c

相关文章

网友评论

      本文标题:hashlib的使用

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