Python3-hashlib模块-加密算法之安全哈希

Python3中的hashlib模块提供了多个不同的安全哈希算法的通用接口

  hashlib模块代替了Python2中的md5和sham模块,使用这个模块一般分为3步

    1.创建一个哈希对象,使用哈希算法命名的构造函数或通用构造函数hashlib.new(name[, data])

    2.使用哈希对象调用update()方法填充这个对象

    3.调用digest() 或 hexdigest()方法来获取摘要(加密结果)

  注:

    1.update()方法需要接收的参数是一个字节对象(字节字符串,如:b"Hello,World!")

    2.常用的一些算法主要有: SHA1, SHA224, SHA256, SHA384, SHA512, MD5等算法

    3.SHA1算法比较早,是不能抵抗暴力破解的

hashlib模块提供一下常量属性

  hashlib.algorithms_guaranteed

    获取保证在所有平台上此模块支持的哈希算法名称的集合

  hashlib.algorithms_available

    获取可以运行在Python解释器中的哈希算法名称的集合

哈希对象常用的方法

  h = hashlib.md5()  或  h = hashlib.new("md5")        # md5可以替换为其他的哈希类型

  h.update(arg)

    将字节对象arg填充到哈希对象中,arg通常为要加密的字符串

  h.digest()

    返回加密结果,它是一个字节对象,长度为 h.digest_size,包含的字节范围 0 ~ 255

  h.hexdigest()

    返回加密结果,它是一个字符串对象,长度为 h.digest_size * 2,只包含16进制数字

import hashlib

password = b"Hello,World!"    # 要加密的数据

# 1.创建一个hash对象
h = hashlib.sha256()

# 2.填充要加密的数据
h.update(password)

# 3.获取加密结果
result = h.hexdigest()
print(result)    # 输出结果:8f4ec1811c6c4261c97a7423b3a56d69f0f160074f39745af20bb5fcf65ccf78
数据加密三部曲

 

posted on 2017-03-29 11:17  AustralGeek  阅读(1706)  评论(1编辑  收藏  举报

导航