Cover photo

什么是哈希函数?

通过百度百科,可以搜做到哈希函数的定义:“Hash,一般翻译做"散列",也有直接音译为"哈希"的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。”简单点来讲,哈希函数是一种接受输入值的函数,一个输入输入值得到输出值的算法。

哈希函数是用来解决数据和数据之间对应关系的一种算法,哈希函数就是一种映射,是从输入信息到存储地址的映射。到处都会使用加密哈希,从密码存储到文件验证系统。使用确定性算法的基本原理,就是使用一个输入,并且每次都产生一个固定长度的字符串。也就是说,使用同样的输入总是会导致同样的输出。

哈希函数这个领域不存在传统企业领域一家独大的情况,由于密码学的开源精神,哈希函数设计思路也非常的开阔,目前可供使用的哈希函种类、数量众多。

**哈希函数主要分为以下六类:加法Hash、位运算Hash、乘法Hash、除法Hash、查表Hash、混合Hash。**目前使用范围最常见的哈希函数就是混合Hash,包括MD系列和SHA系列等。