hash加密模块:
hashlib
hamc
加密那些事:
不可逆加密--hash加密
数据校验
密码加密
特点: 单向性 明文-->密文,但是密文无法还原成明文
唯一性 只要明文一致,得到的密文也是一定的
可逆加密:
对称加密:
加密和解密时使用一个相同的密钥
DES
非对称加密
加密和解密时使用的不同的密钥,其本质是一对密钥
RSA
现在md5主要用于数据校验
hashlib:
公共、公开的基于hash加密的各种算法、md5、sha512
hamc:
会对明文进行对称加密的hash加密
常见可以做密码加密等功能
IO流:
什么是IO流:
input output stream:输入输出流
IO流分为广义上:计算机中数据的流动,像保存数据到硬盘、将数据通过网络传输到其他电脑中
狭义上:内存【CPU】和磁盘之间的数据流动
IO流的分类:
基于数据流动方向:
1、输入流:把数据从其他设备上读取到内存中的流
2、输出流:把数据从内存中写出到其他设备上的流
数据的格式:
字节流:以字节为单位,读写数据的流
字符流:以字符为单位,读写数据的流
python如何处理IO流:
python提供一个全局函数open(该函数在os模块中也存在),底层就是C语言的fopen函数
with语法:
在with语法中打开的IO流,with语法结束,会自动调用close进行关闭
对象序列化和对象持久化:
对象序列化:将抽象的对象(抽象概念)通过相关技术转换为可以存储或者传输的字符或者字节
对象反序列化:将字符或者字节通过相关技术转换为可以存储或者传输的抽象的的对象(抽象概念)
对象持久化:将抽象的对象(抽象概念)存储下来
对象反持久化:存储的对象数据还原成对象
python官方主要提供过了两个持久化的模块:
pickle
json
shelve
pickle:
pickle.dumps(obj) #返回该对象序列化后的字节数据
pickle.loads(字节数据) #反序列化
pickle.dump(obj,file) #直接持久化
pickle.load(file) #
json:
dumps(obj) #返回该对象序列化后的字节数据
loads(字节数据) #反序列化
dump(obj,file) #直接持久化
load(file) #