hashlib,configparser,logging模块

一、常用模块二

hashlib模块

hashlib提供了常见的摘要算法,如md5和sha1等等。

那么什么是摘要算法呢?摘要算法又称为哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。

注意:摘要算法不是一个解密算法。(摘要算法,检测一个字符串是否发生了变化)

应涂:1.做文件校验

   2.登录密码

      密码不能解密,但可以撞库,用‘加盐’的方法就可以解决撞库的问题。所有以后设置密码的时候要设置的复杂一点。

 1 import hashlib
 2 # md5_obj = hashlib.md5()  未加盐
 3 md5_obj = hashlib.md5(‘nezha‘.encode(‘utf-8‘)) #加盐后(就让你的密码更牢固了)
 4 md5_obj.update(‘123456‘.encode(‘utf-8‘))
 5 print(md5_obj.hexdigest())
 6 md5_obj.update(‘hello‘.encode(‘utf-8‘))
 7 print(md5_obj.hexdigest())
 8 # -----------
 9 user = ‘haiyan‘
10 password = ‘123456‘
11 md5_obj= hashlib.md5(user.encode(‘utf-8‘))  #加盐(哪怕被人的密码和你的密码一样,
12 # 那你加盐以后就只有你的用户名对应的是你的密码了)
13 md5_obj.update(password.encode(‘utf-8‘))
14 print(md5_obj.hexdigest())

用户密码

 1 import hashlib
 2 md5_obj = hashlib.md5()
 3 import os
 4 filesize = os.path.getsize(‘filename‘)  #文件大小
 5 f = open(‘filename‘,‘rb‘)
 6 while filesize>0:
 7     if filesize > 1024:
 8         content = f.read(1024)
 9         filesize -= 1024
10     else:
11         content = f.read(filesize)
12         filesize -= filesize
13     md5_obj.update(content)
14 # for line in f:
15 #     md5_obj.update(line.encode(‘utf-8‘))
16 md5_obj.hexdigest()

文件校验

configparser模块

该模块适用于配置文件的格式与windows  ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键=值)。

1.创建文件

 1 import configparser
 2 config = configparser.ConfigParser()
 3 config["DEFAULT"] = {‘ServerAliveInterval‘: ‘45‘,
 4                       ‘Compression‘: ‘yes‘,
 5                      ‘CompressionLevel‘: ‘9‘,
 6                      ‘ForwardX11‘:‘yes‘
 7                      }
 8 config[‘bitbuck et.org‘] = {‘User‘:‘hg‘}
 9 config[‘topsecret.server.com‘] = {‘Host Port‘:‘50022‘,‘ForwardX11‘:‘no‘}
10 with open(‘example.ini‘, ‘w‘) as configfile:
11    config.write(configfile)

创建文件

2.查找文件

 1 import configparser
 2 config = configparser.ConfigParser()
 3 # print(config.sections())
 4 config.read(‘example.ini‘)
 5 print(config.sections())  #读出来的是文件里面的组,
 6 # 而且里面的[DEFAULT]组没有显示出来
 7 print(‘bytebong.com‘ in config) # False
 8 print(‘bitbucket.org‘ in config) # True
 9 print(config[‘bitbucket.org‘]["user"])  # hg
10 print(config[‘DEFAULT‘][‘Compression‘]) #yes
11 print(config[‘topsecret.server.com‘][‘ForwardX11‘])  #no
12 print(config[‘bitbucket.org‘])          #<Section: bitbucket.org>
13 for key in config[‘bitbucket.org‘]:     # 注意,有default会默认default的键
14     print(key)
15 print(config.options(‘bitbucket.org‘))  # 同for循环,找到‘bitbucket.org‘下所有键
16 print(config.items(‘bitbucket.org‘))    #找到‘bitbucket.org‘下所有键值对
17 print(config.get(‘bitbucket.org‘,‘compression‘)) # yes       get方法Section下的key对应的value

查找文件

3.增删改操作

1 import configparser
2 config = configparser.ConfigParser()
3 config.read(‘example.ini‘)
4 config.add_section(‘yuan‘)
5 # config.remove_section(‘bitbucket.org‘) #删除组
6 # config.remove_option(‘topsecret.server.com‘,"forwardx11") #删除组里面的项
7 config.set(‘topsecret.server.com‘,‘k1‘,‘11111‘)
8 config.set(‘yuan‘,‘k2‘,‘22222‘)
9 config.write(open(‘new2.ini‘, "w"))

增删改操作

logging模块

时间: 2024-10-18 18:20:18

hashlib,configparser,logging模块的相关文章

8.模块介绍 time &amp;datetime模块 random os sys shutil json &amp; picle shelve xml处理 yaml处理 configparser hashlib subprocess logging模块 re正则表达式

本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configparser hashlib subprocess logging模块 re正则表达式 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.p

常用模块(hashlib,configparser,logging)

hashlib hashlib 摘要算法的模块md5 sha1 sha256 sha512摘要的过程 不可逆能做的事:文件的一致性检测用户的加密认证 单纯的md5不够安全 加盐处理 简单的盐可能被破解 且破解之后所有的盐都失效 动态加盐 md5 = hashlib.md5() # 选择摘要算法中的md5类进行实例化,得到md5_obj md5.update(b'how to use md5 in python hashlib?') # 对一个字符串进行摘要 print(md5.hexdigest

python全栈开发【第十一篇】Python常用模块三(hashlib,configparser,logging)

hashlib模块 hashlib提供了常见的摘要算法,如md5和sha1等等. 那么什么是摘要算法呢?摘要算法又称为哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示). 注意:摘要算法不是一个解密算法.(摘要算法,检测一个字符串是否发生了变化) 应涂:1.做文件校验 2.登录密码 密码不能解密,但可以撞库,用'加盐'的方法就可以解决撞库的问题.所有以后设置密码的时候要设置的复杂一点. #用户密码 import hashlib # md5

序列化 ,hashlib ,configparser ,logging ,collections模块

# 实例化 归一化 初始化 序列化 # 列表 元组 字符串# 字符串# .......得到一个字符串的结果 过程就叫序列化# 字典 / 列表 / 数字 /对象 -序列化->字符串# 为什么要序列化 # 1.要把内容写入文件 序列化 # 2.网络传输数据 序列化# 字符串-反序列化->字典 / 列表 / 数字 /对象 # 方法# dic = {'k':'v'}# str_dic = str(dic)# print(dict(str_dic))# print([eval(str_dic)])# e

铁乐学python26_hashlib+configparser+logging模块

大部份内容摘自博客http://www.cnblogs.com/Eva-J/ hashlib模块算法介绍 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢? 摘要算法又称哈希算法.散列算法. 它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示). 摘要算法就是通过摘要函数f()对任意长度的数据data计算出固定长度的摘要digest, 目的是为了发现原始数据是否被人篡改过. 摘要算法之所以能指出数据是否被篡改过,就是

time/datetime/os/sys/json/pickle/hashlib/hmac/logging 模块

python常用模块 1.time 模块 # 时间戳:时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量. time_stamp=time.time() print(time_stamp,type(time_stamp)) # 1552551519.291029 <class 'float'> # 格式化时间:格式化的时间字符串(format string):格式化时间表示的是普通的字符串格式的时间. format_time=time.strftime("%Y-%

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

python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib  subprocess logging re正则 转自老男孩老师Yuan:http://www.cnblogs.com/yuanchenqi/articles/5732581.html 模块&包(* * * * *) 模块(modue)的概念: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,

25.Python序列化模块,hashlib模块, configparser模块,logging模块,异常处理

一.序列化模块 什么叫序列化——将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化. 比如,我们在python代码中计算的一个数据需要给另外一段程序使用,那我们怎么给?现在我们能想到的方法就是存在文件里,然后另一个python程序再从文件里读出来.但是我们都知道,对于文件来说是没有字典这个概念的,所以我们只能将数据转换成字典放到文件中.你一定会问,将字典转换成一个字符串很简单,就是str(dic)就可以办到了,为什么我们还要学习序列化模块呢?没错序列化的过程就是从dic 变成str(di

hashlib模块,configparse模块,logging模块

#################hashlib加密模块############################ #登陆 md5 sha #密码不能用使用文字存储 #密文存储 摘要算法 #校验文件的一致性, md5 #网络的上传下载功能 #保证多台服务器状态 #摘要算法: import hashlib # has = hashlib.md5() has.update(b'xx169..')# 使用md5摘要算法对'alex3714'进行摘要 ret = has.hexdigest() #获取摘要