zoukankan      html  css  js  c++  java
  • 15.简单hash



    hash ----哈希
    把任意长度的输入,通过散列算法变换成固定长度的输出,输出值为散列值,是一种压缩映射,散列值的空间远小于输入空间
    哈希算法就是复杂的算法,输入值可以为任意文件字符视频音频等,经过运算后,变成一个固定长度的数字值
    特点:1,不能从输出值(结果)来推断输入值,所以是不可逆的算法,
    hash("曹娜")---》1009112343270334701
    关闭终端再次hash也是不同的值
    2,100g文件和"曹娜"哈希出来的时间一样段。极快速度
    用途:
    1,密码,hash的基础上,无法反推,md5算法。
    2,文件完整性校验 下载软件包,可以用md5sum来检测软件是否被修改过
    3,数字签名 私钥和公钥

    基于hash的数据类型
    dict
    字典的key,都是要经过hash的,key 唯一,无序,不可变,
    查询速度超级快,不受字典大小影响,简单的逻辑是把字典的key通过哈希算法,得到的hash值进行排序,在对排序好的hash值,进行2分法查找,14亿人只需通过30-31次
  • 相关阅读:
    Middleware
    Languages
    Errors
    Config
    CLI Console
    Linux远程复制文件
    CentOS下安装Gitlab
    Maven_POM配置结构
    Maven_POM配置详解
    MySQL索引背后的数据结构及算法原理
  • 原文地址:https://www.cnblogs.com/xh716/p/11563210.html
Copyright © 2011-2022 走看看