美文网首页秒懂课堂
什么是hash算法

什么是hash算法

作者: fc82bb084ee7 | 来源:发表于2018-03-20 12:15 被阅读17次
哈希算法的定义

所谓的哈希算法其实并不是指某一个特定的算法, 而是指一类算法的统称. 它的定义是:

将任意长度的输入转换为固定长度的输出.
哈希算法最有名的就是MD5算法.

哈希算法的应用场景
  1. 用于加密

    截图. 屏幕快照 2018-03-20 上午11.15.53.png

把加密后的字符串存储在数据库.
一是要求原文和加密后的字符串是一一对应的.
二是要求不可逆, 这样即使别人拿到了这个数据, 也无法还原出原始密码.

  1. 文件对比, 百度云盘急速秒传的实现原理.


    屏幕快照 2018-03-20 上午11.16.56.png
屏幕快照 2018-03-20 上午11.17.19.png 屏幕快照 2018-03-20 上午11.19.13.png

原理:
首先服务器上已经有了很多的电影文件, 服务器把每个电影都计算出它对应的hash值. 当客户端要上传某个电影时, 首先在客户端计算出这个电影的hash值, 首先把这个hash值上传到服务器, 如果服务器发现已经存储了这个hash值对应的电影文件, 那就直接在服务器copy一个引用关系, 把这个引用关系保存在客户端的账户下就可以了, 实际上并没有做真正的上传工作. 所以你会发现有时候上传一个5,6G的电影只需要几秒钟.

  1. 散列, HashMap的实现原理.


    屏幕快照 2018-03-20 上午11.40.14.png

注: 根据这个计算后的hash值, 142357, 来确定这个元素在内存中具体的存储位置.

HashMap的优点是, 提取元素的速度非常快.

为什么叫散列呢? 我们希望算法把key处理后得到的下标值, 越分散越好, 所以叫做散列.

refer to:
http://www.miaodongketang.cn/views/category/category.html#cno=001

相关文章

  • 哈希算法

    哈希算法 什么是hash函数?常见的hash算法hashlib的用法hash算法的用途 什么是hash函数? 哈希...

  • 负载均衡中的一致性hash算法

    hash简介 说到底,他是一种hash算法,那什么是hash算法?hash算法是一种散列算法,常用的比如MD5。抽...

  • IOS 逆向开发(二)密码学 HASH

    1. HASH算法简介 1.1 HASH是什么? Hash算法(也叫散列算法) Hash,一般翻译做“散列”,也有...

  • 算法入门:Hash

    什么是Hash算法:##### 简单的说,hash算法就是将字符串转化为数字的算法。 用一个例子说Hash的优势#...

  • 什么是hash算法?什么是好的hash算法?

    现在区块链这个概念在互联网上相当火热,这里简单做一个普及,不涉及项目推广投资,单纯地对区块链相关基础知识概念作一个...

  • 什么是hash算法

    哈希算法的定义 所谓的哈希算法其实并不是指某一个特定的算法, 而是指一类算法的统称. 它的定义是: 将任意长度的输...

  • Map中的一些算法与数据结构简析

    一、Hash算法 1、 什么是Hash Hash散列,将任一长度的输入,通过一种算法,变成固定长度的输出。可以理解...

  • Python值hashlib详解

    一、hashlib的基本概念 1、什么叫hash:hash是一种算法(不同的hash算法只是复杂度不一样)(3.x...

  • 分布式集群架构场景化解决方案

    一致性hash算法hash算法应用场景普通hash算法存在的问题一致性hash算法手写一致性hash算法nginx...

  • hashlib的使用

    一、基本概念 1.什么是hash?   hash是一种算法(不同的hash算法只是复杂度不一样)(3.x里代替了m...

网友评论

    本文标题:什么是hash算法

    本文链接:https://www.haomeiwen.com/subject/yzwvqftx.html