zoukankan      html  css  js  c++  java
  • Python hashlib模块

    hashlib模块

    一.hashlib模块

    用于加密相关的操作,3.x力代替了md5模块和sha模块,主要提供

    :SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法。

     

    1.使用hashlib模块进行MD5加密。

    import hashlib
    
    m = hashlib.md5()
    
    m.update(b"Hello")
    
    m.update(b"It's me")
    
    print(m.hexdigest())
    
    m.update(b"It's been a long time since last time we ...")
    
    print(m.digest())

    注:hashlib.md5():创建一个md5加密参数。

    注:变量.hexdigest():十六进制加密。

    注:变量.digest():二进制加密

    注:总共有32个值。

     

     

    2.使用SHA1算法加密。

    import hashlib
    
    s2 = hashlib.sha1()
    
    s2.update(b"abc")
    
    print(s2.hexdigest())

    注:总共有38个值。

     

     

    3.使用SHA256算法加密

    s2 = hashlib.sha256()
    
    s2.update(b"abc")
    
    print(s2.hexdigest())
    
    print(len(s2.hexdigest()))

    注:有64个加密数值。

     

    4.使用SHA384算法加密。

    import hashlib
    
    s2 = hashlib.sha384()
    
    s2.update(b"abc")
    
    print(s2.hexdigest())
    
    print(len(s2.hexdigest()))

    注:有96个加密数值。

     

    5.使用SHA512算法加密。

    import hashlib
    
    s2 = hashlib.sha512()
    
    s2.update(b"abc")
    
    print(s2.hexdigest())
    
    print(len(s2.hexdigest()))

    注:有128个加密数值。

     

     

    二.加密算法进阶

    import hmac
    h = hmac.new('wueiqi')
    h.update('hellowo')
    print h.hexdigest()

    注:相当于加密后又进行一层加密。双层加密。

    import hmac
    
    h = hmac.new(b"xsk","y风的风x".encode(encoding="utf-8"))
    
    print(h.digest())
    
    print(h.hexdigest())

    注:双层加密。

    注:加入中文key需要,转换字符类型。

     

  • 相关阅读:
    在XP下基于VHD版XP 2003 win7制作的RAMOS心得
    联想G480笔记本安装系统
    多路由器环境下路由器的入口IP地址及DHCP设置探讨
    无线路由器工作模式的区别
    Shiro学习
    R语言学习网址
    2018年刑侦科目推理试题
    信息熵
    myeclipse使用步骤总结
    eclipse没有server选项
  • 原文地址:https://www.cnblogs.com/xiangsikai/p/7787126.html
Copyright © 2011-2022 走看看