简洁明了的讲明什么是哈希(hash)函数
什么是哈希函数
哈希函数只是一个接收输入值的函数,并根据该输入创建一个确定输入值的输出值。对于任何x输入值,每当运行哈希函数时,您将始终收到相同的y输出值。这样,每个输入都有一个确定的输出。
函数基本上是接受输入并从该输入中导出输出的东西。
因此,哈希函数是接受输入(可以是任何数据——数字、文件等)并输出哈希的东西。哈希通常显示为十六进制数。
这是哈希函数MD5,它从任何输入数据中创建一个32个字符的十六进制输出。哈希函数通常是不可逆的(单向),这意味着如果你只知道输出,你就无法计算出输入——除非你尝试了所有可能的输入(这被称为暴力攻击)。
哈希函数通常用于证明某事物与其他事物相同,而无需事先透露信息。这里有一个例子。
假设张三向王五吹嘘她知道他们数学课上挑战题的答案。王五想让她证明她知道答案,而不用她告诉他答案是什么。因此,张三对她的答案进行哈希运算(假设答案是42),得到这个哈希值:
张三把这个哈希值给了王五。王五无法从这个哈希中找出答案,但当他自己找到答案时,他可以对答案进行哈希运算,如果得到相同的结果,那么他就知道张三确实有答案。哈希通常用于在不向验证方透露信息的情况下验证信息。