哈希竞猜的原理

我们先来说一下哈希算法的基本含义

哈希是密码学的基础,理解哈希是理解数字签名和加密通信等技术的必要前提。

哈希,英文是 hash ,本来意思是”切碎并搅拌,有一种食物就叫 Hash ,就是把食材切碎并搅拌一下做成的。哈希函数的运算结果就是哈希值,通常简称为哈希。哈希函数有时候也翻译做散列函数。

哈希竞猜的原理

根据维基百科的定义,哈希函数需要做的是为任何大小的数据生成固定长度的数据作为其映射。所谓的映射是一对一的对应。可靠的哈希算法应该满足三点

第一点是安全性。给定的数据M很容易计算散列值x,但给定的x不能计算M,或者散列算法应该是单向算法。第二个是独一无二的。两个不同的数据应该有不同的散列。第三个是固定长度。给定一个哈希算法,无论输入数据有多大,输出长度都是固定的

但仔细考虑。如果散列的长度是固定的,也就是说,值范围是有限的,而输入数据的值范围是无限的,那么我们总是会找到两个具有相同散列的不同输入。因此,哈希函数的安全性必须是一个相对的概念。如果两个不同的输入具有相同的输出,则称为碰撞。对于不同的哈希算法,哈希位数越多,安全级别越高,或者说它的”抗碰撞性就越好

让我们来谈谈散列函数的主函数。哈希的唯一性确保了如果数据在存储或传输过程中受损,其哈希将发生变化。哈希函数最常见的函数之一是完整性检查,这意味着数据不会被破坏。Hash有许多不同的名称。有时称为摘要,有时称为校验和校验值,有时称为指纹。实际上,它的意思是一样的,也就是说,哈希可以用来表示数据本身

例如,一个朋友给我发送了一段数据。传输后,我有一个,他手里也有一个。如果两个数据的哈希值相同,两个数据的内容相同,或者可以认为数据在传输过程中没有损坏,并且我手中的数据是完整的

因此,哈希函数的基本功能是为大数据计算一个固定长度的摘要字符串,即所谓的哈希。哈希主要用于完整性校验

有兴趣的朋友可以搜一下哈希竞猜源码系统制作

哈希竞猜的原理

发表评论