您当前的位置: 首页 >  哈希算法

壹小俊

暂无认证

  • 3浏览

    0关注

    885博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

哈希算法及其应用场景

壹小俊 发布时间:2020-03-31 09:58:55 ,浏览量:3

哈希算法简单理解就是实现哈希函数的算法,用于将任意长度的二进制值串映射为固定长度的二进制值串,映射之后得到的二进制值就是哈希值(散列值)。

我们日常开发中最常见的哈希算法应用就是通过 md5 函数对数据进行加密了,md5 就是一个哈希函数,结合 md5 我们可以归纳出哈希算法的一般特性:

  • 从哈希值不能反向推导出原始数据(所以哈希算法也叫单向算法,不可逆);
  • 对输入数据非常敏感,哪怕原始数据只修改了一个比特,最后得到的哈希值也大不相同;
  • 散列冲突的概率要很小,对于不同的原始数据,哈希值相同的概率非常小;
  • 哈希算法的执行效率要尽量高效,针对较长的文本,也能快速地计算出哈希值

哈希算法的应用

1、场景一:安全加密

日常用户密码加密通常使用的都是 md5、sha等哈希函数,因为不可逆,而且微小的区别加密之后的结果差距很大,所以安全性更好。

2、场景二:唯一标识

比如 URL 字段或者图片字段要求不能重复,这个时候就可以通过对相应字段值做 md5 处理,将数据统一为 32 位长度从数据库索引构建和查询角度效果更好,此外,还可以对文件之类的二进制数据做 md5 处理,作为唯一标识,这样判定重复文件的时候更快捷。

3、场景三:数据校验

比如从网上下载的很多文件(尤其是P2P站点资源),都会包含一个 MD5 值,用于校验下载数据的完整性,避免数据在中途被劫持篡改。

4、场景五:散列函数

前面已经

关注
打赏
1664335782
查看更多评论
立即登录/注册

微信扫码登录

0.1500s