将任意长度的二进制数据映射为固定长度的二进制串。映射的方法就是哈希算法 ,生成的二进制串叫做哈希值。
从哈希值不能反向推导出原始数据
输入数据改动很小,输出的哈希值也会变化很大
对于不同的数据,哈希冲突的概率很小
执行效率高,针对较长的数据也能很快计算哈希值
MD5arrow-up-right SHA256
鸽巢原理(也叫抽屉原理)。这个原理本身很简单,它是说,如果有 10 个鸽巢,有 11 只鸽子,那肯定有 1 个鸽巢中的鸽子数量多于 1 个,换句话说就是,肯定有 2 只鸽子在 1 个鸽巢内。
哈希算法计算的哈希值位数是固定的,但计算的原数据却无穷无尽,因此可能存在冲突。
对用户密码(加一段salt)做哈希后再存储
对文件的数据进行哈希,得到文件的唯一标识,用于确定文件是否存在、内容是否相同。
确认下载的文件没有被篡改。
用作哈希表的哈希函数,对哈希冲突要求不严格,但要求速度快、哈希值分布均匀。
对用户的ip、会话id做哈希,再对机器数量取模,将请求映射到不同的机器,并且保证同一用户的后续请求都在同一机器上处理。
针对海量数据问题,对数据计算哈希值然后映射到不同的机器上进行处理。
对数据计算哈希值,分配到不同的机器上,使用一致性哈希算法处理机器增加问题。
数据结构与算法之美:21、22arrow-up-right 什么是一致性Hash算法?arrow-up-right
数据结构与算法之美:21、22arrow-up-right
什么是一致性Hash算法?arrow-up-right
最后更新于6年前