zoukankan      html  css  js  c++  java
  • hashlib模块--加密

      用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法

    import hashlib
    
    m = hashlib.md5()
    m.update(b"hello")
    print(m.hexdigest())
    m.update(b"It's me")
    print(m.hexdigest())
    m.update(b"It's been a long time since we spoken.")
    print(m.hexdigest())
    
    m2 = hashlib.md5()
    m2.update(b"helloIt's me")
    print(m2.hexdigest())
    
    # 输出
    5d41402abc4b2a76b9719d911017c592
    64f69d95135bc13d4827f871b37f780f
    0c9a83e10aa2f9e9629be61146db9cc2
    64f69d95135bc13d4827f871b37f780f
    #第二个和第四个 md5值是相同的,所以第二个加密的是 helloIt'sme

      print(m.digest()) #2进制格式hash

      print(len(m.hexdigest())) #16进制格式hash
     
    # ######## sha1 ########
     
    hash = hashlib.sha1()
    hash.update('admin')
    print(hash.hexdigest())
     
    # ######## sha256 ########
     
    hash = hashlib.sha256()
    hash.update('admin')
    print(hash.hexdigest())
     
     
    # ######## sha384 ########
     
    hash = hashlib.sha384()
    hash.update('admin')
    print(hash.hexdigest())
     
    # ######## sha512 ########
     
    hash = hashlib.sha512()
    hash.update('admin')
    print(hash.hexdigest())
    

     

     

    python 还有一个 hmac 模块,它内部对我们创建 key 和 内容 再进行处理然后再加密

    散列消息鉴别码,简称HMAC,是一种基于消息鉴别码MAC(Message Authentication Code)的鉴别机制。使用HMAC时,消息通讯的双方,通过验证消息中加入的鉴别密钥K来鉴别消息的真伪;

    一般用于网络通信中消息加密,前提是双方先要约定好key,就像接头暗号一样,然后消息发送把用key把消息加密,接收方用key + 消息明文再加密,拿加密后的值 跟 发送者的相对比是否相等,这样就能验证消息的真实性,及发送者的合法性了。

    import hmac
    
    h = hmac.new("天王盖地虎".encode(encoding="utf-8"), "你是小松鼠".encode(encoding="utf-8"))
    print(h.digest())
    print(h.hexdigest())
    
    #输出
    b'fxxadxddx9exd6xddcQNx82cxcdxd9x80-'
    6678addd9ed6dd63514e8263cdd9802d
    

      

  • 相关阅读:
    Ubuntu 14.04 卸载通过源码安装的库
    Ubuntu 14.04 indigo 相关依赖
    Ubuntu 14.04 indigo 安装 cartographer 1.0.0
    Ubuntu 14.04 改变文件或者文件夹的拥有者
    安装cartographer遇到Unrecognized syntax identifier "proto3". This parser only recognizes "proto2"问题
    Unrecognized syntax identifier "proto3". This parser only recognizes "proto2". ”问题解决方法
    查看所有用户组,用户名
    1卸载ROS
    Ubuntu14.04 软件安装卸载
    Ubuntu14.04系统显示器不自动休眠修改
  • 原文地址:https://www.cnblogs.com/bigberg/p/7055559.html
Copyright © 2011-2022 走看看