zoukankan      html  css  js  c++  java
  • hashlib、hmac

    #hashlib

    import hashlib
    #md5
    m = hashlib.md5()
    m.update(b"Hello")
    print(m.hexdigest()) #hexdigest十六进制加密
    m.update(b"It's me") #包含之前的Hello
    print(m.hexdigest()) #加密信息包含之前的Hello,与m1.hexdigest()返回信息一致

    m1 = hashlib.md5()
    m1.update(b"HelloIt's me")
    print(m1.hexdigest())

    m2 = hashlib.md5()
    m2.update("天王盖地虎".encode(encoding="utf-8")) #unicode字符串转换成utf-8,再转换成bytes类型;以bytes类型返回给m2.update;存储数据不管是存在磁盘还是内存中都是bytes类型的
    print(m2.hexdigest())

    a = "天王盖地虎".encode(encoding="utf-8")
    print(type,'-------',a)  #a是一个bytes类型的


    #sha
    s2 = hashlib.sha1()
    s2.update(b"HelloIt's me")
    print(s2.hexdigest())

    ---------------------------------------------
    #hmac

    import hmac
    h = hmac.new(b"12345","you are 上山打老虎".encode(encoding="utf-8")) #"you are 上山打老虎".encode(encoding="utf-8")返回的是bytes类型的
    print(h.digest())
    print(h.hexdigest())
    
    


    h = hmac.new(b"12345",b"you are 250")      #注意需要是bytes类型的
    print(h.digest())
    print(h.hexdigest())

    参考:
    https://www.cnblogs.com/alex3714/articles/5161349.html
  • 相关阅读:
    nodeJs-querystring 模块
    nodeJs-process对象
    nodejs-Path模块
    nodejs-os模块
    nodejs-CommonJS规范
    nodejs-Events模块
    nodejs-Http模块
    nodejs-Cluster模块
    转:AOP与JAVA动态代理
    转:jdk动态代理实现
  • 原文地址:https://www.cnblogs.com/lighthouse/p/9593417.html
Copyright © 2011-2022 走看看