导图社区 Python攻击
这是一篇关于Python攻击的思维导图,主要内容包括:爬虫,加密解密。介绍详细,希望对大家有所帮助!
这是一篇关于Python基础的思维导图,Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。
这是一篇关于MYSQL的思维导图,主要内容包括:redis redis是数据库,结构:key-value,索引,连接,MYSQL-DML(Data Manipulation Language)操作。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
Python攻击
加密解密
密码学的发展 1. 古典密码(1949年前),主要特点:基于算法保密。 2. 近代密码学(1949~1975年),基于‘密钥’。 3. 现代密码学(1976年至今),基于非对称密钥,正式商用。
常见的古典密码
摩斯电码 凯撒密码 栅栏密码 维吉尼亚
可逆:base64
勒索病毒模拟 加密:源文件—->二进制的字节—->base64的bytes—-> base64的char—> ascii十进制 + offset —> ascii 字符 —> bytes写入到文件里面 解密:源文件—>decode(ascii字符) —> ascii十进制 - offset —> ascii字符 —> ascii字符encode成bytes —> bytes写到源文件
不可逆 作用:存放密码;摘要,防止别人篡改。
MD5
过程: 1. md5(密码+盐值) ---> 数据库的密码字段 2. 登录:md5(输入的密码+盐值) 与 数据库的密码进行比较是否一致。
SHA
比MD5更安全,因为碰撞的概率低
非对称
算法非对称
密钥非对称
RSA 过程(小红发给小明--->小明生成公钥和私钥--->把公钥发给小红--->小红通过小明给的公钥对数据进行加密--->把数据发给小明,小明通过私钥进行解密)
爬虫
须知:不要爬未授权的网站,遵守robots.txt
登录
不需要登录
需要登录
直接输入用户名密码登录(比较少)
需要验证码登录
人机登录维持效果
Session
session通常指一个终端用户与交互系统进行通信的时间间隔,即从用户注册进入系统到注销退出系统之间所经过的时间,在这个过程中,Session的状态是存储在服务器端的,客户端只有session id。Session在服务器端可能会保存一份,可能是缓存、文件或数据库。每次客户端请求时,都会带着这个session id,服务器会根据这个id找到对应的session数据,从而进行身份验证。
TOKEN
如果用户A登录成功之后,服务器会用给用户A一个Token。 等用户A再次登录时,服务器会对A的token通过Hsha算法进行验证得到一个签名,如果签名和第一次注册时的签名一样,就可以直接登录,无需密码
进程
定义 狭义:进程是指运行的程序的实例。 (python:class ——实例——> 对象)。 操作系统本身也是一个进程,通过操作系统可以fork()出子进程
几种状态
New:新创建进程 Ready:可以被执行(和其它的在Ready的进程是有竞争关系的) Waiting:进程执行IO操作的时候,不会参与到CPU的竞争。 Running:正在使用CPU; Terminated:终止
多进程
特点: 资源隔离:每个进程拥有独立的内存空间,数据不共享,需要进程间通信(IPC)。 无GIL限制:多进程可以充分利用多核处理器,实现真正的并行计算。 适用场景:适用于计算密集型任务,如科学计算、图像处理等,可以充分发挥多核性能。
线程(Thread)
定义 Thread(线程),比进程更“轻”。 每个进程会有自己独立的内存空间;线程是共享的。
多线程
特点: 资源共享:所有线程共享同一个进程的内存空间,可以方便地访问和修改共享数据。 GIL限制:由于Python的全局解释器锁(GIL),同一时刻只能有一个线程执行Python字节码,因此多线程在CPU密集型任务上可能不会有真正的并行效果。 适用场景:适用于IO密集型任务,如网络请求、文件读写等,可以在等待IO时切换线程,提高整体效率。
归纳 python里面进程和线程如何选择
IO密集型可以考虑使用多线程
计算密集型可以考虑多进程