一.hash算法
什么是hash?
类似工厂加工的过程,传bytes串,经过运算返回字符
hash相当于工厂,传给hash算法的内容是原材料,hash值为产品
为何用hash?
hash三大特性:
1.传入的内容一样,得到的hash值也必定一样
2.只要hash算法固定,hash值的长度一样,不应该随着文件的增大而增大
基于以上两点,可以在下载文件时,做文件一致性校验。
3.hash值不可以逆推出原来的内容,类似于加密的过程
基于1,3可以对密码进行加密
例如登陆功能,用户名和密码加密成hash值
输入账号密码,客户端把明文变成hash值,服务端直接比对hash值,服务端存就是hash值
比对依据是,hash值一样证明内容也一样。
如何用hash?
import hashlib
1.造hash工厂
m=hashlib.md5()
2.运送原材料
m.update()
3.print(m.hexidigest())
shelve 修改子字典 要用writeback改为True