• 第45天python学习configparse hashlib模块


    configparse模块参考:https://www.cnblogs.com/ming5218/p/7965973.html

    #ConfigParser 是用来读取配置文件的包,保存的方式是使用字典方式
    #配置文件的格式如下:中括号“[ ]”内包含的为section。section 下面为类似于key-value 的配置内容。
    # import configparser
    # #创建
    # config = configparser.ConfigParser()#创建一个对象。config={}
    #
    # config["data"]={"name":"zhangshan",
    # "age":28,
    # "sex":"man"
    # }
    # with open("exmple.ini","w") as f:
    # config.write(f)#写入的时候参数是f的句柄


    #操作:增加 删除 修改 查询,保存那字典,那么操作是按字典方式
    # import configparser
    #
    # config=configparser.ConfigParser()
    # print(config.sections())#结果:[]。。因为没有内容
    #
    # config.read("exmple.ini")
    # print(config.sections())#结果:['dtat']
    #
    # #查询
    # print("data" in config)#查询data是否在文件中,是True
    #
    # print(config["data"]["age"])#结果:28
    #
    # #由于诗歌字典可以进行遍历
    # for key in config["data"]:
    # print(key)#name age sex
    #
    # print(config.options("data"))#把key拿出来放一个列表['name', 'age', 'sex']
    # print(config.items("data"))#把里面的键值对都拿出来:[('name', 'zhangshan'), ('age', '28'), ('sex', 'man')]
    #
    # print(config.get("data","name"))#直接拿name下的value

    #增加 删除 修改————————最后修改完了需要写入config.write(open((“文件名”,“w”)))
    import configparser
    #增加
    # config=configparser.ConfigParser()
    # config["data"]={"name":"zhangshan",
    # "age":28,
    # "sex":"man"
    # }
    # with open("exmple.ini","w") as f:
    # config.write(f)#写入的时候参数是f的句柄
    # config.add_section("zenjiakuai")#增加块
    # config.set("zenjiakuai","zhi","value")#增加块下面的值
    # config.write(open("znejia","w"))

    #删除
    # config=configparser.ConfigParser()
    # # config.remove_section("zenjiakuai")#删除块
    # config.remove_option("zenjiakuai","zhi")#删除模块的值
    # config.write(open("znejia1","w"))




    # import hashlib——————算法越是复杂时间越慢,常用的h256
    # #hashlib主要提供字符加密功能,将md5和sha模块整合到了一起,支持md5,sha1, sha224, sha256, sha384, sha512等算法.不能解密
    # #场景:例如京东的密码存在表里面,使用密闻
    #
    # obj=hashlib.md5()
    # obj.update("hello".encode("utf8"))
    # print(obj.hexdigest())#5d41402abc4b2a76b9719d911017c592

    #补充:
    #1、由于md5只能加密,不能解密,那么登录成功是怎么验证的的呢?直接登录的时候就使用秘文登录。例如你输入“admin直接转换和数据库存的进行对比”
    #2、由于md5加密出来的是唯一的《例如:admin密文是:21232f297a57a5a743894a0e4a801fc3 hello密文是:5d41402abc4b2a76b9719d911017c592;那么直接简单的可以
    #直接免费解密,时间还是不去作用

    #为了更更安全:使用加盐巴方式
    # import hashlib
    # obj=hashlib.md5("songming". encode("utf8"))#为了更安全自己添加了一部分,但是这部分不能泄露不然建立个很大的数据库还是容易被别人匹配上
    # obj.update("hello".encode("utf8"))
    # print(obj.hexdigest())#9ac1dba66e516a3f8aa9648d10c6c04a

    #补充:
    #1、 hashlib.md5("songming". encode("utf8")),参数加入如果泄露了,那么建立很大的数据库就能 匹配上
    #2、这个的算法简单一般不适用
    #3、密码输入不要输入简单的,简单很容易破解

    # import hashlib
    #
    # obj=hashlib.md5()
    # obj.update("hello".encode("utf8"))
    # print(obj.hexdigest())#5d41402abc4b2a76b9719d911017c592
    #
    # obj.update("root".encode("utf8"))
    # print(obj.hexdigest())#单独运行root的:63a9f0ea7bb98050796b649e85481845 运行hello和root的结果:e206121dbbe984f3bc6c6448846ed8cd
    # #root这一步是在hello的结果上再来的一次
    #
    # obj.update("helloroot".encode("utf8"))
    # print(obj.hexdigest())#e206121dbbe984f3bc6c6448846ed8cd
  • 相关阅读:
    配置Apache虚拟主机
    Apache: You don't have permission to access / on this server
    wordpress之备份与恢复数据
    ruby之各种概念
    Oracle之比较NVARCHAR2字符串
    Centos安装ruby--jekyll
    Linux之IO Redirection
    SecureCRT导入已有会话
    jdk1.8新特性应用之Iterable
    jdk1.8新特性应用之Collection
  • 原文地址:https://www.cnblogs.com/jianchixuexu/p/11626835.html
Copyright © 2020-2023  润新知