• 加密模块hashlib模块(* *)


    用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 越往后加密算法越复杂,这些算法都是不可逆的,MD5 算法

     1 import hashlib
     2 obj=hashlib.md5()
     3 obj.update("admin".encode("utf8"))
     4 print(obj.hexdigest())    #21232f297a57a5a743894a0e4a801fc3
     5 
     6 obj.update("root".encode("utf8"))#这时候加密的字符串是"adminroot"
     7 print(obj.hexdigest())#   4b3626865dc6d5cfe1c60b855e68634a
     8                       #   4b3626865dc6d5cfe1c60b855e68634a
     9 obj2=hashlib.md5("sb".encode("utf8"))#以上加密算法虽然依然非常厉害,但时候存在缺陷,即:通过撞库可以反解。所以,有必要对加密算法中添加自定义key再来做加密。,这个步骤叫加盐
    10 obj2.update("admin".encode("utf8"))
    11 print(obj2.hexdigest())    #e560d00d77b6997bbcba34ce36a0d745

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

    import hmac
    h = hmac.new('alvin'.encode('utf8'))
    h.update('hello'.encode('utf8'))
    print (h.hexdigest())#320df9832eab4c038b6c1d7ed73a5940
  • 相关阅读:
    P4549 【模板】裴蜀定理
    POJ1606 Jugs
    2. 数据库连接池规范
    14. BootStrap * 组件
    BootStarpt
    13. Flex 弹性布局2 BootStrap
    12. Flex 弹性布局 BootStrap
    CSS3
    21. Servlet3.0 / 3.1 文件上传 Plus
    20. Servlet3.0 新特性
  • 原文地址:https://www.cnblogs.com/jiawen010/p/9929015.html
Copyright © 2020-2023  润新知