那么,什么是哈希竞猜游戏?在讲解哈希竞猜前,首先要了解什么是哈希。
哈希是一种加密算法,主要应用于区块链中。哈希函数是一个公开函数,可以将任意长度的消息M映射成为一个长度固定的、较短的值H(M),称其为哈希值、散列值、杂凑值或消息摘要。它是一种单向密码体制,即一个从明文到密文的不可逆映射,在加密过程中不可逆转。
具体而言,无论输入是什么数字格式、文件有多大,输出都是固定长度的比特串。例如,比特币使用的Sh256算法,输出固定为256bit。每个bit都是0或1,256bit就是由256个0或1组成的二进制数字串。如果用16进制数字表示,每一位16进制数字代表4位bit,所以256位bit用16进制数字表示就是64位。通常可见的哈希值就是这种形式,例如00740f40257a13bf03b40f54a9fe398c79a664bb21cfa2870ab07888b21eeba8。
哈希函数有以下特点:
- 易压缩:对于任意大小的输入x,Hash值的长度很小,函数H产生的Hash值长度是固定的。 - 易计算:对于任意给定的消息,计算其Hash值比较容易。 - 单向性:对于给定的Hash值,要找到使得在计算上是不可行的。即从哈希输出无法倒推输入的原始数值。 - 抗碰撞性:理想的Hash函数是无碰撞的,但在实际算法的设计中很难做到这一点。 - 高灵敏性:指的是1比特位的输入变化会造成1/2的比特位发生变化。消息M的任何改变都会导致哈希值H(M)发生改变。
哈希算法的应用非常广泛,如网址转换成数字,可以快速地查找出对应网址的信息。在哈希竞猜游戏中,就可以使用哈希算法来产生比赛结果。