hashib加密模块、logging模块

hashib加密模块

# 加密模块
1.什么是加密
将明文的数据通过一些手段变成能密文数据
密文数据的表现形式一般都是一串没有规则的字符串
2.加密算法
加密算法有很多>>>(讲文明变成密文的内部规则)
算法的难以程度可以根据秘钥长短判断
越长就越难解开
3.基本使用
import hashlib
指定算法>>>:md5算法(最为常见 一般业务需求足够了)
    md5 = hashlib.md5()
    讲文明数据传递给算法对象
    md5.update(b'heihei')  # 只能接受bytes类型
    """如果字符串中是纯数字和英文 那么直接在前面加b转成bytes类型"""
获取加密后的文秘数据
res = md5.hexdigest()
print(res)  # 0ada0f86099479922efa4ae341df9bbd
# 在传入数据的时候 只要内容一致 那么算法的结果肯定一致
 md5 = hashlib.md5()
# md5.update(b'name')
# md5.update(b'age')
# md5.update(b'human')
# print(md5.hexdigest())  # 633eda971a10c5f8b25d00e56b5b50f8
md5.update(b'nameagehuman')
print(md5.hexdigest())  # 633eda971a10c5f8b25d00e56b5b50f8
   

加密补充

1.加密后的结果是无法直接反解密的
# 反解密就是暴力破解>>>:反复的猜
"""
md5解密本质
提前构建好密码组合 进行加密
之后反过来匹配 直到匹配结果
123:加密密文
加密密文:123
"""
2.加盐处理
增加破解难度
import hashlib
md5 = hashlib.md5()
# 加盐处理 增加干扰项
md5.update('dd'.encode('utf8'))
md5.update(b'123')
md5.hexdigest()

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

logging模块

'''日志模块就是在程序的各个环境记录 便于后续的查看'''
# 1.日志等级
	import logging
# 日志按照重要程度分为五个级别:默认只有达到warning警告级别及以上才会记录日志
  # logging.debug('debug message')  # 1级
  # logging.info('info message')  # 2级
  # logging.warning('warning message')  # 3级
  # logging.error('error message')  # 4级
  # logging.critical('critical message')  # 5级
    
# 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('你好')

posted @   末笙  阅读(45)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示