哈希树hashtree常应用在哪些现实场景?
一、哈希树hashtree常应用现实场景
1、场景一:安全加密
日常用户密码加密通常使用的都是 md5、sha等哈希函数,因为不可逆,而且微小的区别加密之后的结果差距很大,所以安全性更好。
2、场景二:少数标识
比如 URL 字段或者图片字段要求不能重复,这个时候就可以通过对相应字段值做 md5 处理,将数据统一为 32 位长度从数据库索引构建和查询角度效果更好,此外,还可以对文件之类的二进制数据做 md5 处理,作为少数标识,这样判定重复文件的时候更快捷。
3、场景三:数据校验
比如从网上下载的很多文件(尤其是P2P站点资源),都会包含一个 MD5 值,用于校验下载数据的完整性,避免数据在中途被劫持篡改。
4、场景五:散列函数
前面已经提到,PHP 中的 md5、sha1、hash 等函数都是基于哈希算法计算散列值
5、场景五:负载均衡
对于同一个客户端上的请求,尤其是已登录用户的请求,需要将其会话请求都路由到同一台机器,以保证数据的一致性,这可以借助哈希算法来实现,通过用户 ID 尾号对总机器数取模(取多少位可以根据机器数定),将结果值作为机器编号。
6、场景六:分布式缓存
分布式缓存和其他机器或数据库的分布式不一样,因为每台机器存放的缓存数据不一致,每当缓存机器扩容时,需要对缓存存放机器进行重新索引(或者部分重新索引),这里应用到的也是哈希算法的思想。
延伸阅读:
二、哈希算法的一般特性
从哈希值不能反向推导出原始数据(所以哈希算法也叫单向算法,不可逆);对输入数据非常敏感,哪怕原始数据只修改了一个比特,最后得到的哈希值也大不相同;散列冲突的概率要很小,对于不同的原始数据,哈希值相同的概率非常小;哈希算法的执行效率要尽量高效,针对较长的文本,也能快速地计算出哈希值。相关推荐HOT
更多>>内网与外网有哪些区别?
一、内网与外网的区别1、IP地址设置不同一般内网有自己的IP号段,也不会和互联网号段冲突,内网就是从路由器以下开始的,而且IP都是以192开头的...详情>>
2023-10-14 23:33:06研发管理的目标是什么?
一、研发管理的目标研发管理的目标是是提高效能,效能应该分为两个方面,一个是提升质量,一个是提升效率。提升质量是肉眼可见的,但是提升效率...详情>>
2023-10-14 22:12:13需求管理主要涉及哪些内容和方法?
一、需求管理主要涉及内容和方法1. 在时间上重新规划企业的供应流程,以充分满足客户的需要推迟制造是供应链管理中实现客户化的重要形式,其核...详情>>
2023-10-14 20:14:34大整数类型和一般的整数类型相比各有什么优劣?
一、大整数类型和一般的整数类型相比大整数类型和一般的整数类型相比优点是不会溢出,能表示任意长度的数字做各种精度的运算。缺点是没有直接的...详情>>
2023-10-14 16:13:56