哈希算法

作者: TomGui | 来源:发表于2020-05-27 22:43 被阅读0次

    什么是哈希算法?

    将任意长度的二进制值串映射为固定长度的二进制值串,这个映射的规则就是哈希算法,而通过原始数据映射之后得到的二进制值串就是哈希值。

    哈希算法需要满足的要求

    • 从哈希值不能反向推导出原始数据(所以哈希算法也叫单向哈希算法);
    • 对输入数据非常敏感,哪怕原始数据只修改了一个 Bit,最后得到的哈希值也大不相同;
    • 散列冲突的概率要很小,对于不同的原始数据,哈希值相同的概率非常小;
    • 哈希算法的执行效率要尽量高效,针对较长的文本,也能快速地计算出哈希值。

    应用一:安全加密

    • MD5:MD5 Message-Digest Algorithm,MD5 消息摘要算法
    • SHA:Secure Hash Algorithm,安全散列算法
    • DES:Data Encryption Standard,数据加密标准
    • AES:Advanced Encryption Standard,高级加密标准

    应用二:唯一标识

    哈希算法可以对大数据做信息摘要,通过一个较短的二进制编码来表示很大的数据。

    应用三:数据校验

    用于校验数据的完整性和正确性。

    应用四:散列函数

    它对哈希算法的要求非常特别,更加看重的是散列的平均性和哈希算法的执行效率。

    应用五:负载均衡

    我们可以通过哈希算法,对客户端IP地址或者会话ID计算哈希值,将取得的哈希值与服务器列表的大小进行取模运算,最终得到的值就是应该被路由到的服务器编号。

    应用六:数据分片

    在数据分片应用中,通过哈希算法对处理的海量数据进行分片,多机分布式处理,可以突破单机资源的限制。

    应用七:分布式存储

    在分布式存储应用中,利用一致性哈希算法,可以解决缓存等分布式系统的扩容、缩容导致数据大量搬移的难题。

    相关文章

      网友评论

        本文标题:哈希算法

        本文链接:https://www.haomeiwen.com/subject/bqlnahtx.html