Day5
什么是hash
可以被hash的内容
刚刚我们已经说过,hash值的计算过程是依据这个值的一些特征计算的,这就要求被hash的值必须固定。
可以想见如果“王老五”变成“王老六”了,计算的结果就会发生改变。
因此我们要说,坏消息是可变的数据类型是不可以被hash的,好消息是如果一个值可以hash那么说明这是一个不可变得数据类型。
哈希算法有一个很大的特点。就是必不能从结果推算出输入,所有称为不可逆的算法
哈希特性
不可逆 也作为一种加密算法存在
计算极快
哈希的用途
1.密码:md5加密算法
网站的密码都是基于hash,保证同样输入得出的结果值一直一致
2.文件的完整性校验:md5值
3.数组签名:
基于hash的类型:
dict : dict的key都要经过hash运算
key唯一
key不可变
查询速度快,且不受dict大小影响
set :
用python操作文件
1.找到文件,打开 f = open(filename)
2.读、修改 f.read()读所有 f.read(100)读100个字符 f.write() 写
3.保存&关闭 f.close()自动保存且关闭
文件打开模式:只能以一种模式操作文件
三种模式:r read , w write 创建模式 , a append
创建文件 只能写 不能读
f = open(file = '创建文件.txt',mode='w')
f.write('xifeng it 4000\n')
f.write('qiangzi it 2000\n')
f.close()
读文件 只能读不能写
f = open(file = '创建文件.txt',mode = 'r')
print(f.readline())#只读取一行
data = f.read()#读所有,或者剩下的所有
print(data)
f.close()
添加文件 只能写不能读
f = open(file='创建文件.txt',mode= 'a')
f.write('longzong ceo 100000\n')
f.close()