zoukankan      html  css  js  c++  java
  • 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
    数据加密三部曲

  • 相关阅读:
    Java 高级文件处理
    drf10
    drf9
    drf8
    drf7
    drf6
    drf5
    drf4
    drf3
    drf2
  • 原文地址:https://www.cnblogs.com/qq1207501666/p/6638808.html
Copyright © 2011-2022 走看看