【Python hashlib】 񰂐

时间:2019-08-24
本文章向大家介绍【Python hashlib】 񰂐,主要包括【Python hashlib】 񰂐使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

原文: http://blog.gqylpy.com/gqy/391

关于摘要算法,必须知道的知识点:

  1. 摘要算法又称哈希算法,散列算法
  2. 它通过一个函数把任意长度的数据转换为一个长度固定的数据串(通常用 16 进制的字符串表示)
  3. 摘要函数是一个单向函数,它计算出一个值很容西,但通过这个值来反推却非常困难
  4. 对原始数据做一个 bit 的修改,都会导致计算出的摘要完全不同
  5. 相等字符串的摘要值一定相同,不相等字符串的摘要值一定不相同

hashlib.md5

  1. 最常见的摘要算法,速度快,算法相对简单
  2. 生成的结果是固定的 128bit 字节,通常用一个 32 位的 16 进制字符串表示

详细用法且看下面的操作:

import hashlib


""" ---- 基本用法 ---- """

# 1.实例化一个md5对象
md5 = hashlib.md5()

# 2.加密数据:b'123'
md5.update(b'123')
# update方法接收一个bytes
# 如果要加密的数据是字符串,应转为bytes,一般写成 str.encode('UTF-8')

# 3.返回加密后的字符串
ret = md5.hexdigest()

print(len(ret), type(ret))
# 32 <class 'str'>


""" ---- 分段多次调用 ---- """

md5.update(b'123')
md5.update(b'456')


""" ---- 加盐 ---- """

md5 = hashlib.md5(b'6666')

hashlib.sha1

  1. 它的结果是 160bit ,通常用一个 40 位的 16 进制字符串表示
  2. 安全性要高于 md5 ,比 sha1 更安全的算法是 sha256sha512
  3. 更全的算法,意味着速度越慢,而且摘要长度更长
  4. 用法同 md5

原文: http://blog.gqylpy.com/gqy/391

原文地址:https://www.cnblogs.com/mypath1/p/11405857.html