美文网首页
哈希算法的原理

哈希算法的原理

作者: 木石说 | 来源:发表于2020-02-25 22:34 被阅读0次

什么是哈希算法?哈希是一种加密算法,也称为散列函数或杂凑函数。哈希函数是一个公开函数,可以将任意长度的消息M映射成为一个长度较短且长度固定的值H(M),称H(M)为哈希值、散列值(Hash Value)、杂凑值或者消息摘要。它是一种单向密码体制,即一个从明文到密文的不可逆映射,只有加密过程,没有解密过程。

Hash的特点

易压缩:对于任意大小的输入x,Hash值的长度很小,在实际应用中,函数H产生的Hash值其长度是固定的。

易计算:对于任意给定的消息,计算其Hash值比较容易。

单向性:对于给定的Hash值,要找到使得在计算上是不可行的,即求Hash的逆很困难。在给定某个哈希函数H和哈希值H(M)的情况下,得出M在计算上是不可行的。即从哈希输出无法倒推输入的原始数值。这是哈希函数安全性的基础。

抗碰撞性:理想的Hash函数是无碰撞的,但在实际算法的设计中很难做到这一点。

有两种抗碰撞性:一种是弱抗碰撞性,即对于给定的消息,要发现另一个消息,满足在计算上是不可行的;另一种是强抗碰撞性,即对于任意一对不同的消息,使得在计算上也是不可行的。

高灵敏性:这是从比特位角度出发的,指的是1比特位的输入变化会造成1/2的比特位发生变化。消息M的任何改变都会导致哈希值H(M)发生改变。即如果输入有微小不同,哈希运算后的输出一定不同。

相关文章

  • 哈希算法的原理

    什么是哈希算法?哈希是一种加密算法,也称为散列函数或杂凑函数。哈希函数是一个公开函数,可以将任意长度的消息M映射成...

  • hashlib模块-加密算法

    hashlib 模块提供了常见的摘要算法,如MD5,SHA1 摘要算法(又称哈希算法、散列算法):原理:它通过一个...

  • 字符串匹配算法---RK算法

    这个算法不多聊,核心原理为:哈希表(散列表)的应用,直接上代码:

  • 【机器学习+python(9)】回归决策树

    欢迎关注哈希大数据微信公众号【哈希大数据】 上次分享我们简单介绍了分类决策树的基本原理和算法实现。决策树算法是在全...

  • PHP开发 之 摘要和签名

    本文的示例代码参考digest_signature 目录 哈希算法原理破解最佳实践password_hash 消息...

  • 一致性哈希算法之Ketama算法

    原文 有关一致性哈希算法原理及其应用讨论的文章已经足够多,如果对一致性哈希算法一点概念都没有的同学可以先参考这篇文...

  • HashMap

    结构:数组+链表+红黑树 (链表元素>8时变为红黑树)如何解决哈希冲突:链地址法哈希算法:与运算 实现原理Entr...

  • 算法系列:5分钟了解哈希算法

    前言 哈希算法是现代密码体系中的一个重要组成部分。大家比较感兴趣的数字货币,就使用了哈希算法。 哈希算法简介 哈希...

  • 哈希算法的实际应用

    哈希算法的概念 哈希算法的原理用一句话来概括:将任意长度的二进制串映射为固定长度的二进制串。这种映射的规则就称为哈...

  • 哈希算法

    哈希算法 - 哈希摘要 - 数字签名/数字指纹 - 防篡改/保护敏感信息 哈希算法是一个单向运算的函数(单向哈希函...

网友评论

      本文标题:哈希算法的原理

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