python学习——hash

hash 哈希 把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。
这种转换就是一种压缩映射,也就是,散列值的空间远远小于输入的空间。
它的输出可以是字符串,可以是数据,可以是任何文件,经过哈希运算后,变成一个固定长度的输
出,该输出就是哈希值。哈希算法有一个很大的特点,就是你不能从结果推算出输入,所以称为不
可逆算法。
特性
 1.不可逆
 2.计算极快
哈希的用途
 1.密码     md5加密算法 (我们现在网站的密码都是基于hash,保证输入得出的结果值一直一致)
 2.文件完整性校验 md5值
 3.数字签名 
   A----------->B
   A 天王盖地虎   私钥 -------加密,把情报进行哈希,生成一段hash值(摘要信息),把摘要信息加密
   把原文+加了密的摘要信息一同发送给B
   B 宝塔镇河妖   公钥--------解密,把摘要信息解密,得到hash值。B对源文件进行hash,也得到一个
   hash值,拿到这个值跟a发过来的值进行比较,如果一致,代表情报发送者是A本人
 
基于  hash   的类型
dict  的  key  都是经过hash运算
 key 唯一
 key 不可变
 查询速度快,且不受  dict  大小影响
 二分法
set 天生去重

你可能感兴趣的:(python学习——hash)