发布网友 发布时间:2022-03-27 09:29
共1个回答
热心网友 时间:2022-03-27 10:59
构成哈希算法的条件:
从哈希值不能反向推导出原始数据(所以哈希算法也叫单向哈希算法)。
对输入数据非常敏感,哪怕原始数据只修改了一个 Bit,最后得到的哈希值也大不相同。
散列冲突的概率要很小,对于不同的原始数据,哈希值相同的概率非常小。
哈希算法的执行效率要尽量高效,针对较长的文本,也能快速地计算出哈希值。
常见hash算法的原理
散列表,它是基于快速存取的角度设计的,也是一种典型的“空间换时间”的做法。顾名思义,该数据结构可以理解为一个线性表,但是其中的元素不是紧密排列的,而是可能存在空隙。
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。