Hash一般被翻译成“散列”,也可直接音译为“哈希”,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。

这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。

Hash主要用于信息安全领域中加密算法,它把一些不同长度的信息转化成杂乱的128位的编码,这些编码值叫做Hash值. 也可以说,通俗的说Hash就是找到一种数据内容和数据存放地址之间的映射关系。

哈希函数、算法

哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。

哈希表

散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。

特点:如果两个哈希值是不相同的(根据同一函数),那么这两个散列值的原始输入一定是不相同的;如果两个哈希值相同,两个输入值很可能(极大概率)是相同的,但也可能不同,这种情况称为“哈希碰撞”。

抗篡改能力:对于一个数据块,哪怕只改动其一个比特位,其Hash值的改动也会非常大。它是一种单向函数是“非对称”的,即它是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。

【回眸】哈希值是什么相关推荐

  1. 通过python利用哈希值实现比较两个文件的一致性

    背景 近来学习到python的内置函数hash(),深入发现通过python的哈希值可以做很多的事情,最典型的可能就是文件加密了,在我们现实生活中大约有如下一些用途: 加密网站注册用户的密码. 网站用 ...

  2. 图像相似度计算之哈希值方法OpenCV实现

    感知哈希算法(perceptual hash algorithm),它的作用是对每张图像生成一个"指纹"(fingerprint)字符串,然后比较不同图像的指纹.结果越接近,就说明 ...

  3. Merkle 树——空间换时间,分而治之的hash表,通过根节点是由它的两个子节点内容的哈希值组成来校验数据完整性,定位篡改的数据位置...

    Merkle 树 图 1.5.6.1 - Merkle 树示例 默克尔树(又叫哈希树)是一种二叉树,由一个根节点.一组中间节点和一组叶节点组成.最下面的叶节点包含存储数据或其哈希值,每个中间节点是它的 ...

  4. 2021-11-18哈希值

    1.哈希值 DemoHashCode.java package HashCode;/** 哈希值:是一个十进制的整数,由系统随机给出(就是对象的地址值,是一个逻辑地址,是模拟出来得到的地址,不是数据实 ...

  5. boost::hash_combine模块实现json哈希值的测试程序

    boost::hash_combine模块实现json哈希值的测试程序 实现功能 C++实现代码 实现功能 boost::hash_combine模块实现json哈希值的测试程序 C++实现代码 #i ...

  6. boost :: hash_combine从类的不同成员生成哈希值

    boost :: hash_combine从类的不同成员生成哈希值 实现功能 C++实现代码 实现功能 Boost的container_hash模块,boost :: hash_combine从类的不 ...

  7. 使用 Solid 私有化存储 IPFS 文件哈希值

    背景 星际文件系统 IPFS(InterPlanetary File System)是一个面向全球的.点对点的分布式文件系统,目标是为了补充(甚至是取代)目前统治互联网的超文本传输协议(HTTP),将 ...

  8. [Java基础]哈希值

    哈希值:

  9. 哈希值 哈希表_哈希杰森

    哈希值 哈希表 我最近写了一个简单的库,可预测地对json进行哈希处理 . 该实用程序基于出色的Jackson Json解析库构建 问题 我需要从相当大的基于json的内容生成的哈希值,以便稍后确定该 ...

  10. linux 查看文件哈希码,使用linux的sha1sum命令查看效验文件哈希值命令

    服务器 今天小编给大家分享的是使用linux的sha1sum命令查看效验文件哈希值命令,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧.一定会有所收获的哦. sha1 ...

最新文章

  1. 图像非极大值抑制 Sobel 边缘实现
  2. 汉字输入练习 TypeChinese.java
  3. python编写下载器可暂停_python 并发下载器实现方法示例
  4. 现代软件工程讲义 2 开发技术 - 单元测试 amp; 回归测试
  5. c#随机数的产生与输出【C#】
  6. BNU44583——Star Trek: First Contact——————【01背包】
  7. 报童问题模型matlab,报童模型matlab
  8. 奥维互动地图谷歌图源,通过自建Cloudflare Workers反代实现墙内访问 - DaPeng‘s Blog
  9. 5053刷奥迪Q5隐藏功能
  10. 空时编码的理论与实践(3)空时编码设计准则
  11. JAVA习题001--产生多个随机数并使用冒泡排序将数字从小到大排序
  12. html凹凸感设置,想让VRAY渲染的图有点凹凸效果怎么做?
  13. bitmap的六种压缩方式,Android图片压缩(转)
  14. 计算机一级考试试题分值怎么样的,计算机一级考试的试题分值怎么样的?
  15. java毕业设计企业门户网站源码+lw文档+mybatis+系统+mysql数据库+调试
  16. docker 安装 oracle11g
  17. 爬取《斗破苍穹》小说
  18. direct wifi 投屏_【教程】Microsoft Wi-Fi Direct Virtual关闭方法
  19. 百度视频发布年度大数据报告 揭晓热播影视综艺动漫
  20. gwr模型用什么做_为什么我的 CV 模型不好用?没想到原因竟如此简单……

热门文章

  1. 微分几何与斯托克定理
  2. python没有缩进错误但报缩进_Python:“缩进错误:unindent与任何外部缩进级别都不匹配”...
  3. 如何做好aso优化,如何做好ASO关键词优化
  4. WPS公式编辑器编辑公式遇到的问题
  5. 如何激活微信里沉睡的客户?
  6. Hook Android q 剪贴板限制,AndroidQ(10)获取剪切板内容适配
  7. 向量加减法首尾规律_平面向量加减法口诀
  8. vue项目 退出登录
  9. 2021年煤炭生产经营单位(安全生产管理人员)复审考试及煤炭生产经营单位(安全生产管理人员)模拟考试题
  10. 解决“虚拟机使用的是此版本 VMware Workstation 不支持的硬件版本”