hashlib 和loggin模块
1.摘要算法hashlib
1. md5加密
#1. 摘要算法 #md5加密算法 32位
import hashlib
username ="alex"
md5_obj =hashlib.md5()
# md5_obj =hashlib.md5("加盐".encode("utf-8")) #加盐操作.
# md5_obj =hashlib.md5(username.encode("utf-8")) #加盐操作.
md5_obj.update(b"alex") #使用md5摘要算法对 alex进行摘要 必须是bytes类型进行摘要.
res =md5_obj.hexdigest() #获取摘要的结果.
print(res)
#结果:534b44a19bf18d20b71ecc4eb77c572f #sha1加密算法 40位
import hashlib
md5_obj =hashlib.sha1()
md5_obj.update(b"alex") #使用md5摘要算法对 alex进行摘要 必须是bytes类型进行摘要.
res =md5_obj.hexdigest() #获取摘要的结果.
print(res)
#结果 60c6d277a8bd81de7fdde19201bf9c58a3df08f4
2.文件校验操作
#2. 文件校验操作
with open("mengbin","rb") as f :
md5_obj =hashlib.md5()
md5_obj.update(f.read())
res =md5_obj.hexdigest()
print(res)
#摘要结果为:c7d6ca99c0c7a9e5beb0431b98e5ff11
with open("mengbin","rb") as f :
md5_obj =hashlib.md5()
for line in f:
md5_obj.update(line)
res =md5_obj.hexdigest()
print(res)
#摘要结果为:c7d6ca99c0c7a9e5beb0431b98e5ff11
#结论:update操作可以在hexdigest之前执行多次,分次对一个长字符串进行校验 ,结果是对整个长字符串的摘要结果.
2.logging模块
#4. logging 模块
import logging logging.basicConfig(level=logging.DEBUG) #设置等级 . 默认是warning往上的信息. # DEBUG:root:debug message
# INFO:root:info message
# WARNING:root:warning message
# ERROR:root:error message
# CRITICAL:root:critical message #调试
logging.debug("debug message") #信息
logging.info("info message") #警告
logging.warning("warning message") #错误
logging.error("error message") #严重错误
logging.critical("critical message")
3.logging案例
import logging logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
datefmt='%a, %d %b %Y %H:%M:%S',
filename='test.log',
filemode='a') logging.debug('debug message')
logging.info('info message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message')

hashlib 和loggin模块的更多相关文章
- Python 自学基础(四)——time模块,random模块,sys模块,os模块,loggin模块,json模块,hashlib模块,configparser模块,pickle模块,正则
时间模块 import time print(time.time()) # 当前时间戳 # time.sleep(1) # 时间延迟1秒 print(time.clock()) # CPU执行时间 p ...
- s14 第5天 时间模块 随机模块 String模块 shutil模块(文件操作) 文件压缩(zipfile和tarfile)shelve模块 XML模块 ConfigParser配置文件操作模块 hashlib散列模块 Subprocess模块(调用shell) logging模块 正则表达式模块 r字符串和转译
时间模块 time datatime time.clock(2.7) time.process_time(3.3) 测量处理器运算时间,不包括sleep时间 time.altzone 返回与UTC时间 ...
- hashlib,configparser,logging模块
一.常用模块二 hashlib模块 hashlib提供了常见的摘要算法,如md5和sha1等等. 那么什么是摘要算法呢?摘要算法又称为哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度 ...
- hashlib,configparser,logging,模块
一,hashlib模块 算法介绍 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一 ...
- python3之xml&ConfigParser&hashlib&Subprocess&logging模块
1.xml模块 XML 指可扩展标记语言(eXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. XML 被设计用来传输和存储 ...
- python hashlib、hmac模块
一.hashlib模块 import hashlib m = hashlib.md5() m.update(b"Hello") print(m.hexdigest()) m.upd ...
- 序列化、time、random、hashlib、sys模块
•很多常用和内置模块,我们只需要掌握他们的用法而暂时不用考虑内部是如何实现的,这些模块大大提升了开发效率 ! 1.json模块与pickle模块 •json 如果你有这样的困扰,当希望把一种数据存到硬 ...
- hashlib、logging模块
hashlib模块 hashlib提供了常见的摘要算法,如md5和sha1等等. 那么什么是摘要算法呢?摘要算法又称为哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通 ...
- python 加密 hashlib与hmac模块
https://www.jb51.net/article/128911.htm hashlib模块简介: hashlib模块为不同的安全哈希/安全散列(Secure Hash Algorithm)和 ...
随机推荐
- Fragment 生命周期 全局变量的声明位置
public class Fragment_shouye extends Fragment { private List<Zixun_shouye> datas; private TopV ...
- IBM MQ 学习
import java.io.IOException; import java.util.HashMap; import java.util.Map; import com.ibm.mq.MQC; i ...
- centos7下创建mysql5.6多实例
一.mysql安装目录说明mysql5.6以二进制安装包安装在/data/mysql56下数据目录为/data/mysql56/data下配置文件为/etc/my.cnf下 二.多实例目录说明/mys ...
- NPOI导入导出Excel数据
代码: using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using System; usi ...
- SQLALchemy--ORM框架
SQLAlchemy 1.介绍 SQLAlchemy是一个基于Python实现的ORM框架.该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之便是:将类和对象转换成SQL,然后使用 ...
- 2018.10.18 NOIP训练 01矩阵(组合数学)
传送门 组合数学好题. 题目要求输出的结果成功把概率转化成了种类数. 本来可以枚举统计最小值为iii时的概率. 现在只需要统计最小值为iii时的方案数,每一行有不少于iii个1的方案数. 显然一行选i ...
- 2018.09.24 bzoj1486: [HNOI2009]最小圈(01分数规划+spfa判负环)
传送门 答案只保留了6位小数WA了两次233. 这就是一个简单的01分数规划. 直接二分答案,根据图中有没有负环存在进行调整. 注意二分边界. 另外dfs版spfa判负环真心快很多. 代码: #inc ...
- 2018.07.01 BZOJ3295: [Cqoi2011]动态逆序对(带修主席树)
3295: [Cqoi2011]动态逆序对 **Time Limit: 10 Sec Memory Limit: 128 MB Description 对于序列A,它的逆序对数定义为满足i<j& ...
- hdu-1067(最大独立集)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1068 题意:一个男生集合和一个女生集合,给出两个集合之间一一对应的关系,求出两个集合中最大独立集的点数 ...
- Docker mysql启动自动按顺序导入sql
1.目录结构 -rw-r--r-- root root Jan : Dockerfile -rw-r--r-- root root Jan : initdb.sh drwxr-xr-x root ro ...