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

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

     1 import hashlib
     2  
     3 # ######## md5 ########
     4 hash = hashlib.md5()
     5 # help(hash.update)
     6 hash.update(bytes('admin', encoding='utf-8'))
     7 print(hash.hexdigest())
     8 print(hash.digest())
     9  
    10  
    11 ######## sha1 ########
    12  
    13 hash = hashlib.sha1()
    14 hash.update(bytes('admin', encoding='utf-8'))
    15 print(hash.hexdigest())
    16  
    17 # ######## sha256 ########
    18  
    19 hash = hashlib.sha256()
    20 hash.update(bytes('admin', encoding='utf-8'))
    21 print(hash.hexdigest())
    22  
    23  
    24 # ######## sha384 ########
    25  
    26 hash = hashlib.sha384()
    27 hash.update(bytes('admin', encoding='utf-8'))
    28 print(hash.hexdigest())
    29  
    30 # ######## sha512 ########
    31  
    32 hash = hashlib.sha512()
    33 hash.update(bytes('admin', encoding='utf-8'))
    34 print(hash.hexdigest())
    35 以上加密算法虽然依然非常厉害,但时候存在缺陷,即:通过撞库可以反解。所以,有必要对加密算法中添加自定义key再来做加密。
    36 1
    37 2
    38 3
    39 4
    40 5
    41 6
    42 7
    43 import hashlib
    44  
    45 # ######## md5 ########
    46  
    47 hash = hashlib.md5(bytes('898oaFs09f',encoding="utf-8"))
    48 hash.update(bytes('admin',encoding="utf-8"))
    49 print(hash.hexdigest())
    50 python内置还有一个 hmac 模块,它内部对我们创建 key 和 内容 进行进一步的处理然后再加密
    51 1
    52 2
    53 3
    54 4
    55 5
    56 import hmac
    57  
    58 h = hmac.new(bytes('898oaFs09f',encoding="utf-8"))
    59 h.update(bytes('admin',encoding="utf-8"))
    60 print(h.hexdigest())
  • 相关阅读:
    HttpSession
    查看端口被哪个进程占用了
    变体类型 Variant VARIANT
    BDE View not exists
    c++builder 解压缩
    nginx的allow和deny配置
    linux下如何启动nginx?
    java如何发起一次http的post请求?
    mysql如何用sql添加字段如何设置字符集和排序规则
    设置Tomcat的UTF-8编码
  • 原文地址:https://www.cnblogs.com/shiluoliming/p/6395350.html
Copyright © 2011-2022 走看看