ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Week05 Day04(20220401)

2022-04-01 02:31:06  阅读:198  来源: 互联网

标签:hashlib 加密 Week05 update Day04 密文 logging 20220401 md5


week05 day04

  • hashlib加密模块
  • logging模块

hashlib加密模块

# 什么是加密
	将明文(人看得懂)数据通过一些手段变成密文数据(人看不懂)
  	密文数据的表现形式一般都是一串没有规则的字符串
 
# 加密算法
	加密算法有很多种>>>(将明文变密文的内部规则)
  	算法的难易程度可以根据产生密文的长短来判断
    越长意味着算法越复杂
 
# 使用加密的场景
	涉及到隐私数据的时候 应该考虑使用加密
  	最为常见的就是对用户的密码加密 防止密码泄露
  
# 基本使用
import hashlib
# 1.指定算法>>>:md5算法(最为常见 一般的业务需求足够了)
md5 = hashlib.md5()
# 2.将明文数据传递给算法对象
md5.update(b'hello')  # 只能接收bytes类型
"""如果字符串中是纯数字和英文 那么直接在前面加b转成bytes类型"""
# 3.获取加密之后的密文数据
res = md5.hexdigest()
print(res)  # 5d41402abc4b2a76b9719d911017c592
# 在传入数据的时候 只要内容一致 那么算法的结果肯定一致
md5 = hashlib.md5()

md5.update(b'hello')
md5.update(b'world')
md5.update(b'jason')
print(md5.hexdigest())  # 8faebe82e744992e51c86845cac3e1b7

md5.update(b'helloworldjason')
print(md5.hexdigest())  # 8faebe82e744992e51c86845cac3e1b7

# 补充
1.加密之后的结果是无法直接反解密的

2.加盐处理	# 增加破解的难度
  import hashlib
  md5 = hashlib.md5()
  # 加盐处理(添加一些额外的干扰项)
  md5.update('你追我'.encode('utf8'))
  md5.update(b'123')
  print(md5.hexdigest())  # ce850e70febde5f3506fec0479dc0f96
 
3.动态加盐
	干扰项动态变化
  	可以是用户名的一部分 也可以当前时间...
  
"""
加密应用场景
1.密码加密如何比对
	用户输入的还是明文但是到了程序里面之后会采用相同的加密算法变成密文
	之后拿着密文与跟数据库里面的密文比对如果一致就是密码正确不一致就是错误
	
2.文件内容一致性校验
	作为软件的提供者 我们在提供安全软件的同时会对给该软件内容做加密处理得到一个该安全软件独有的密文
	用户在下载软件之后也会对内容做相同的加密之后比对两次密文是否一致
	如果是表示中途没有被修改 如果不是表示中途被修改过 可能存在病毒 
"""
针对大文件一致性校验的优化策略
	如果一个文件有10G 那么如果全部读取并加密速度太慢
  这个时候可以考虑对文件内容进行切片读取并加密的操作

logging模块

'''日志模块就是在程序的各个环境记录 便于后续的查看'''
# 1.日志等级
	import logging
  # 日志按照重要程度分为五个级别:默认只有达到warning警告级别及以上才会记录日志
  logging.debug('debug message')  # 10
  logging.info('info message')  # 20
  logging.warning('warning message')  # 30
  logging.error('error message')  # 40
  logging.critical('critical message')  # 50
 
# 2.基本使用
import logging

file_handler = logging.FileHandler(filename='x1.log', mode='a', encoding='utf-8', )
# 所有的格式不需要记忆 后续几乎都是拷贝加修改
logging.basicConfig(
      format='%(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s',
      datefmt='%Y-%m-%d %H:%M:%S %p',
      handlers=[file_handler, ],
      level=logging.ERROR
  )

logging.error('警告')

标签:hashlib,加密,Week05,update,Day04,密文,logging,20220401,md5
来源: https://www.cnblogs.com/run-fast-hit-fast-win-fast/p/16084984.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有