configparser模块 #专门解析my.ini这种形式的文件(cnf)

import configparser
  config=configparser.ConfigParser()
  config.read('my.ini')
  格式:[section1]
    key=value
    key=value
    key=value
    [section2]
    key=value
    key=value
  section和option   
   #删除整个标题section2
   config.remove_section('section2')

   #删除标题section1下的某个k1和k2
   config.remove_option('section1','k1')
   config.remove_option('section1','k2')
   #判断是否存在某个标题
   print(config.has_section('section1'))
   #判断标题section1下是否有user
   print(config.has_option('section1',''))
   #添加一个标题
   config.add_section('egon')
   #在标题egon下添加name=egon,age=18的配置
   config.set('egon','name','egon')
   config.set('egon','age',18) #报错,必须是字符串
   #最后将修改的内容写入文件,完成最终的修改
   config.write(open('a.cfg','w'))
hashlib模块
  # 1、什么叫hash:hash是一种算法(3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法),该算法接受传入的内容,经过运算得到一串hash值
  # 2、hash值的特点是:
   1 只要传入的内容一样,得到的hash值必然一样=====>要用明文传输密码文件完整性校验
   2 不能由hash值返解成内容=======》把密码做成hash值,不应该在网络传输明文密码
   3 只要使用的hash算法不变,无论校验的内容有多大,得到的hash值长度是固定的
  import hashlib
  helloworldegon
工厂 #m=hashlib.md5()
材料1 #m.update('hello'.encode('utf-8'))
   2 #m.update('world'.encode('utf-8'))
   3 #m.update('egon'.encode('utf-8'))   #update接受bytes,可以辅助分批导入
结果 #print(m.hexdigest()) #3801fab9b8c8d9fcb481017969843ed5
  helloworldegon
  #m=hashlib.md5()
  #m.update('helloworldegon'.encode('utf-8'))
  #print(m.hexdigest()) #3801fab9b8c8d9fcb481017969843ed5
  其他hash算法
  #m=hashlib.sha512()
  #m.update('helloworld'.encode('utf-8'))
  #print(m.hexdigest()) #1594244d52f2d8c12b142bb61f47bc2eaf503d6d9ca8480cae9fcf112f66e4967dc5e8fa98285e36db8af1b8ffa8b84cb15e0fbcf836c3deb803c13f37659a60
  下载文件校验hash值,和官方的文件hash值相等
  #m=hashlib.md5()
  #with open(r'D:\code\SH_fullstack_s1\day18\上节课复习','rb') as f:
    # for line in f:
      #  m.update(line)
  # hv=m.hexdigest()
  #print(hv) #f2a3a94efd0809e8a9c5ac8794c4bb2d      
     #953cd74a08f4fbb7e69a4bda8dfad056 (update内容增多 hash值长度不变)
  密码加盐
  #import hashlib
  #pwd='alex3714'
  #m=hashlib.md5()
  #m.update('一行白鹭上青天')
  #m.update(pwd.encode('utf-8'))
  #m.update('天'.encode('utf-8'))
  #m.update('小雨一米五'.encode('utf-8'))
  #print(m.hexdigest())
hmac模块
  hmac必须加盐
  import hmac
  m=hmac.new('天王盖地虎,小鸡炖模块'.encode('utf-8'))
  m.update('alex3814'.encode('utf-8'))
 print(m.hexdigest())
 

(常用)configparser,hashlib,hamc模块的更多相关文章

  1. python学习道路(day6note)(time &datetime,random,shutil,shelve,xml处理,configparser,hashlib,logging模块,re正则表达式)

    1.tiim模块,因为方法较多我就写在code里面了,后面有注释 #!/usr/bin/env python #_*_coding:utf-8_*_ print("time".ce ...

  2. python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess logging re正则

    python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib  subprocess ...

  3. 常用模块之 re shutil configparser hashlib xldt和xlwd

    shutil 高级文件处理模块 封装的更简单了 主要是文件的复制,移动,压缩解压缩 需要保证目标文件已经存在shutil.copymode('test.txt','testcopy4.txt') 压缩 ...

  4. python中常用的内建模块

    [datetime] datetime是python处理日期和时间的标准库 获取当前日期和时间 我们先看如何获取当前日期和时间: 注意到datetime是模块,datetime模块还包含一个datet ...

  5. 网络编程进阶---->>> hamc模块 socketserver模块验证合法性 两者进行通信连接

    我们在工作中经常遇到,你公司内的某一台电脑要去访问你的服务器或者一个服务端电脑,那么你是让每一台都进行连接吗?  那不可能的  你肯定要进行限定的 验证客户端链接的合法性: hamc模块 hamc也是 ...

  6. Python常用内置模块之xml模块

    xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.从结构上,很像HTML超文本标记语言.但他们被设计的目的是不同的,超文本标记语言被设计用来显示 ...

  7. day 27 多态 接口 类方法 静态方法 hashlib 摘要算法模块

    # 多态的理解:# Python 天生自带多态# 鸭子类型 list 和 tuple 就是一对鸭子类型 很像但是没有继承关系## 而其他的类型 上传参数或者打印参数的时候 必须是指定的数据类型# -- ...

  8. Python常用的内建模块

    PS:Python之所以自称“batteries included”,就是因为内置了许多非常有用的模块,无需额外安装和配置,即可直接使用.下面就来看看一些常用的内建模块. 参考原文 廖雪峰常用的内建模 ...

  9. 加密模块hashlib+日志模块logging

    目录 1.hashlib 加密模块 1.hashlib模块基本使用 1.2 详细操作 ①md5加密模式 ②sha256复杂加密模式 ③加盐操作(普通加盐) ④加盐操作(动态加盐) 2.logging ...

随机推荐

  1. bzoj千题计划319:bzoj2865: 字符串识别(后缀自动机 + 线段树)

    https://www.lydsy.com/JudgeOnline/problem.php?id=2865 同上一篇博客 就是卡卡空间,数组改成map #include<map> #inc ...

  2. HashMap 集合的遍历

    HashMap 集合的遍历: 两种方式遍历HashMap: //集合hashMap的遍历: //方式一: @Test public void testMethod1(){ HashMap<Str ...

  3. Silverlight网页打开后马上崩溃,“白屏”,而且毫无提示

    如题,出现白屏的问题 在Application_UnhandledException函数内,跟踪异常e的提示信息,可以了解到如下信息: at System.ComponentModel.AsyncCo ...

  4. [Windows] [DLL] [动态链接库技术]

    cppblog.com 天空的博客 http://www.cppblog.com/API/archive/2011/03/10/141506.html cnblogs.com 吴秦的博客 http:/ ...

  5. Lua 函数链功能

    函数链 http://lua-users.org/wiki/FiltersSourcesAndSinks A chain is a function that combines the effect ...

  6. grep 打印相关行内容

    grep 打印相关行数常用参数: -r:关键字 -c:打印符合要求的行数 -i:忽略大小写 -n:输出行和行号 -v:打印不符合要求的行,即反选 -A:后跟数字(有无空格都可以),例如 -A3表示打印 ...

  7. CSS面试复习(一):HTML强化

    1. HTML常见元素和理解 head类 meta:字符集.base:路径. a[href,target] img[src,alt] table td[colspan,rowspan] form[ta ...

  8. 商业版微信小程序开发流程

    一.产品阶段 ①功能规划思维导图——产品经理了解清楚整个项目需求,产出清晰明确的功能需求说明. ②需求报价预算——产品经理确定好功能需求后,输出整个项目开发的报价方案. ③组建技术开发团队——初步确认 ...

  9. xenserver 上传centos6.8镜像

    1.宿主机操作:   # mkdir /iso # xe sr-create name-label=system-iso type=iso device-config:location=/iso de ...

  10. Java基础_0304:构造方法

    构造方法 如果要实例化新的对象,那么肯定需要使用关键字new来完成,但是除了new这个关键字之外,还有可能在对象实例化时为其进行一些初始化的准备操作,这个时候就需要构造方法的支持了 构造方法本身是一种 ...