哈希(Hash)函数具有如下特点。
易压缩:对于任意大小的输入x,Hash值的长度很小,在实际应用中,函数H产生的Hash值,其长度是固定的。(哈希游戏搭建,部署,技术服务,请看头像+)
易计算:对于任意给定的消息,计算其Hash值比较容易。
单向性:对于给定的Hash值,要找到使得在解算上是不可行的,即求得Hash的逆向解算,很困难。在给定某个哈希函数H和哈希值H(M)的情况下,你想得出M,这在计算上是不可行的。即从哈希输出无法倒推输入的原始数值。这是哈希函数安全性的基础。
抗碰撞性:理想的Hash函数是无碰撞的,但在实际算法的设计中很难做到这一点。一般有两种抗碰撞性:一种是弱抗碰撞性,即对于给定的消息,要发现另一个消息,满足在计算上是不可行的;另一种是强抗碰撞性,即对于任意一对不同的消息,使得在计算上也是不可行的。
1. 不可能根据哈希值来决定输入。
2. 每个哈希值都是不同的。
3. 哪怕对输入的整个哈希值做一个小小的更改都是会被更改的。
4. 对于相同的消息,总是生成相同的哈希值。
5. 哈希值只有加密过程没有解密过程。
6. 一但数据记录在链上就不可能被篡改
高灵敏性:这是从比特位角度出发的,指的是1比特位的输入变化会造成1/2的比特位发生变化。