摘要,日志

1.hashlib 模块:

  由于数据的不安全性,为了保证用户的信息绝对安全,所有所有人的账号密码不能以明文的形式存储,

  而是经过适当的处理以密文的形式存储.

  hashlib对同一个字符串在不同的语言,不同的环境(操作系统,版本,时间)中加密得到的是同一个密文串,不同的字符串得到的密文是不一样的

  这个算法不可逆

2.摘要算法:

# 原始加密:
import hashlib
obj = hashlib.md5()
obj.update('666'.encode('utf-8'))
print(obj.hexdigest())
# 加盐
obj = hashlib.md5('123'.encode('utf-8'))
obj.update('666'.encode('utf-8'))
print(obj.hexdigest())
# 动态加盐 ,避免恶意撞库
name = 'liming'
pwd = '123456'
def login(name,passwd):obj = hashlib.md5(name.encode('utf-8'))obj.update(pwd.encode('utf-8'))ret = obj.hexdigest()with open('t1',) as f:for line in f:uname,paswd = line.strip().split()if name == uname and paswd == ret:return Trueelse:return False
rot = login(name,pwd)

3.hashlib摘要算法,多种算法中常用的两种md5,sha1.

  md5是32位16进制的数字字符组成的字符串

    特点:应用最广泛的摘要算法.

      效率高,相对不复杂,安全性也相对低

  sha1及其相关系列摘要算法,40位16进行的数字字符组成的字符串.

      特点:比md5算法复杂,且sha的n值越大,算法越复杂,耗时越久,效率越低,安全性越高

 

4.文件的一致性校验:

  下载的是视频,或者大文件,应该以rb的形式来读,读出来的都是bytes

  不能按行来读,也不能一次性读出来:

import os
import hashlib
path = r'E:\01_pycharm\venv\sum_01_python.py'
def sum_size(path,buffer=1024):obj = hashlib.md5()s_size = os.path.getsize(path)with open(path, 'rb') as f:while s_size:count = f.read(buffer)s_size -= len(count)#d41d8cd98f00b204e9800998ecf8427eret = obj.hexdigest()return ret
osd = sum_size(path)
print(osd)

 

5.configparser 文件配置

6.logging日志:

  1,给用户看:购物记录'''

  2.给内部人员看:程序出错时帮记录过程,排除错误

  3,给非技术看:谁在什么时候做了什么操作

7.日志级别:

import logging
logging.basicConfig(level=logging.INFO) #调节日志打印级别
logging.debug('debug message') #计算或工作的细节
logging.info('info message') #记录用户的一些增删改查的操作
logging.warning('warning message') #警告操作
logging.error('error message') #错误操作
logging.critical('critical message') #批判的,直接导致程序出错退出的

  日志简单配置

import logging
logging.basicConfig(level=logging.INFO,format='%(asctime)s %(filename)s \[line:%(lineno)d]%(levelname)s%(message)s',datefmt = '%c',filename ='test.log')
logging.warning('warning message') #警告操作
logging.error('error message') #
logging.info('错误操作')

  对象的配置:向文件和屏幕输出内容

# 先创建一个log对象 logger
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
# 还要创建一个控制文件输出的文件操作符
fh = logging.FileHandler('mylog.log')
# 还要创建一个控制屏幕输出的屏幕操作符
sh = logging.StreamHandler()
# 要创建一个格式
fmt = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fmt2 = logging.Formatter('%(asctime)s - %(name)s[line:%(lineno)d] - %(levelname)s - %(message)s')# 文件操作符 绑定一个 格式
fh.setFormatter(fmt)
# 屏幕操作符 绑定一个 格式
sh.setFormatter(fmt2)
sh.setLevel(logging.WARNING)
# logger对象来绑定:文件操作符, 屏幕操作符
logger.addHandler(sh)
logger.addHandler(fh)

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

转载于:https://www.cnblogs.com/lijinming110/p/9600939.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/282198.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《网站情感化设计与内容策略》一第1章 情感化设计1.1 革命:有失亦有得

本节书摘来自异步社区《网站情感化设计与内容策略》一书中的第1章,第1.1节,作者 【美】Aarron Walter , Erin Kissane,更多章节内容可以访问云栖社区“异步社区”公众号查看 第1章 情感化设计 网站情感化设计与内容策略 1.1 革命&#xff1…

php自动加载机制的实现

一、什么是自动加载 自动加载就是当我们在当前文件中实例化一个不存在的类时,调用自动加载机制引入相应的类文件。 注:自动加载有两种方式(都是php内置的),一种是通过__autoload(),另一种是通过spl_autoload_registe…

MySQL之 从复制延迟问题排查

一、从库复制延迟问题 1、可能的原因如下(1)主从服务器处于不同的网络之中,由于网络延迟导致;(2)主从服务器的硬件配置不同,从服务器的硬件配置(包括内存,CPU&#xff0c…

《树莓派渗透测试实战》——2.12 用例子总结以上步骤

本节书摘来异步社区《树莓派渗透测试实战》一书中的第2章,第2.12节,作者【美】Joseph Muniz(约瑟夫 穆尼斯) , Aamir Lakhani(阿米尔 拉克哈尼),更多章节内容可以访问云栖社区“异步社区”公众号…

申请成为qq互联个人开发者步骤(注意事项)2018

一、官方网址 官方地址:https://connect.qq.com/manage.html#/ 二、申请时注意事项: 1、申请时的名称栏必须填写身份证上的姓名,否则是不给通过的 2、上传照片时,需要本人手持身份证,重点是照片中身份证上头像的位置要…

《Swift开发实战》——第1章,第1.4节启动iOS 8模拟器

本节书摘来自异步社区《Swift开发实战》一书中的第1章,第1.4节启动iOS 8模拟器,作者 李宁,更多章节内容可以访问云栖社区“异步社区”公众号查看 1.4 启动iOS 8模拟器Xcode是一款功能全面的应用程序,通过此工具可以轻松输入、编译…

基于.NetCore开发博客项目 StarBlog - (18) 实现本地Typora文章打包上传

1前言九月太忙,只更新了三篇文章,本来这个功能是从九月初就开始做的,结果一直拖到现在国庆假期才有时间完善并且写文章~之前我更新了几篇关于 Python 的文章,有朋友留言问是不是不更新 .Net 了,那肯定不能啊&#xff0…

《算法导论》读书笔记--第1、2章课后题 (转)

第一章 转自http://www.cnblogs.com/batteryhp/p/4654860.html 思考题 1-1(运行时间的比较)确定时间t内求解的问题的最大规模。 上面是网上提供的答案。 注意点: 1、最左边一列的是关于n的增长情况描述,值得记住的是这些增长的排…

PHP开发自己的框架必备知识点

一、PHP常用的四种数据结构 简介&#xff1a;spl是php的一个标准库。 官方文档&#xff1a;http://php.net/manual/zh/book.spl.php <?php//spl&#xff08;php标准库&#xff09;数据结构/*** 栈&#xff08;先进后出&#xff09;*/ $stack new SplStack(); $stack-&g…

Linux 环境下 jdk1.8 maven3.2.3 Git2.8.0 安装脚本

2019独角兽企业重金招聘Python工程师标准>>> # Author: peizhouyu # Date: 2018-09-07 14:24:11 # Last Modified by: peizhouyu # Last Modified time: 2018-09-07 16:02:58#!/bin/bash SOFT_PATH/opt/softif [ ! -d $SOFT_PATH ];then mkdir $SOFT_PATH else …

《嵌入式设备驱动开发精解》——导读

前言 嵌入式设备驱动开发精解本书的编写主要是针对从事嵌入式软件开发人员。本书的内容主要涵盖ARM CPU以及各种常用外部设备驱动开发的方方面面&#xff0c;包括各种硬件接口、硬件接口协议说明以及各种外设的使用及调试方法&#xff0c;特别是对于开发调试过程中可能遇到的各…

C# WPF通过WindowChrome自定义窗体

概述在WPF界面开发中&#xff0c;系统默认的窗口比较丑&#xff0c;有时候想自定义窗体&#xff0c;比如微信的客户端窗口这样&#xff1a;使得左边的一块顶到最上端&#xff0c;如下图所示&#xff1a;这时候我们可以 WindowStyle"None"&#xff0c;AllowsTranspare…

【转载】递推公式的特征方程及通项公式

先贴上链接&#xff1a;http://blog.csdn.net/happykocola/article/details/73933314 因为最近在复习初赛&#xff0c;然后碰到了这道题&#xff0c;并不会做&#xff0c;才发现有这么高明的方法... 已知递推关系式&#xff1a; f(n)5f(n-1)-6f(n-2) (n>1) f(0)1 f(1)…

【leetcode】75. Sort Colors

题目如下&#xff1a; 解题思路&#xff1a;我的解题思路是遍历数组&#xff0c;遇到0删除该元素并插入到数组头部&#xff0c;遇到1则不处理&#xff0c;遇到2删除该元素并插入到数组尾部。 代码如下&#xff1a; class Solution(object):def sortColors(self, nums):"&q…

每日一言学做人,古之学问,博大精深

前言&#xff1a; 要成为一个有格局&#xff0c;有修养的人&#xff0c;吸纳一些有道理的思想和做法&#xff0c;去逐渐提高自己是非常有必要的&#xff0c;有一言&#xff0c;做事先做人&#xff0c;意即于此。因此&#xff0c;每日将自己看到的一段有感的话记录下来&#xf…

Seal-Report: 开放式数据库报表工具

Seal Report是.Net的一个基于Apache 2.0 开源工具&#xff0c;完全用C# 语言编写&#xff0c;最新的6.6 版本采用.NET 6&#xff0c;github: https://github.com/ariacom/Seal-Report。Seal Report提供了一个完整的框架&#xff0c;用于从任何数据库或任何非SQL源生成每日报告。…

《Ceph源码分析》——第2章,第2节Buffer

本节书摘来自华章出版社《Ceph源码分析》一书中的第2章&#xff0c;第2.2节Buffer&#xff0c;作者常涛&#xff0c;更多章节内容可以访问云栖社区“华章计算机”公众号查看 2.2 BufferBuffer就是一个命名空间&#xff0c;在这个命名空间下定义了Buffer相关的数据结构, 这些数…

eclipse在server中tomcat server找不到的问题

想要在eclipse的server新建tomcat服务器然而不知道怎么回事找不到Tomcat 7.0 Server 下面的红圈是tomcat server服务器&#xff08;更新后才出现&#xff09; 网上找的很久&#xff0c;只是找到在eclipse中安装tomcat插件的方法 Tomcat免安装版的环境变量配置以及Eclipse下的To…

Sysbench 1.0.15安装及使用

Sysbench是一款开源的多线程性能测试工具&#xff0c;可以执行CPU/内存/线程/IO/数据库等方面的性能测试&#xff0c;数据库目前支持MySQL/Oracle/PostgreSQL。 一、安装&#xff1a; Github地址&#xff1a;https://github.com/akopytov/sysbench RHEL/CentOS&#xff1a; cur…

PHP根据指定url生成二维码图片

一、composer安装 http://packagist.p2hp.com/packages/codeitnowin/barcode 二、使用 调用generateQrCode()方法即可实现生成二维码图片并输出下载给用户 <?php namespace manage\Test;use CodeItNow\BarcodeBundle\Utils\QrCode; use common\extensions\Helper; use y…