<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://zh.feixiaohao.wiki/index.php?action=history&amp;feed=atom&amp;title=%E5%93%88%E5%B8%8C%EF%BC%88Hash%EF%BC%89</id>
	<title>哈希（Hash） - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://zh.feixiaohao.wiki/index.php?action=history&amp;feed=atom&amp;title=%E5%93%88%E5%B8%8C%EF%BC%88Hash%EF%BC%89"/>
	<link rel="alternate" type="text/html" href="https://zh.feixiaohao.wiki/index.php?title=%E5%93%88%E5%B8%8C%EF%BC%88Hash%EF%BC%89&amp;action=history"/>
	<updated>2026-05-15T09:05:59Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://zh.feixiaohao.wiki/index.php?title=%E5%93%88%E5%B8%8C%EF%BC%88Hash%EF%BC%89&amp;diff=854&amp;oldid=prev</id>
		<title>2024年12月10日 (二) 02:12 Doge</title>
		<link rel="alternate" type="text/html" href="https://zh.feixiaohao.wiki/index.php?title=%E5%93%88%E5%B8%8C%EF%BC%88Hash%EF%BC%89&amp;diff=854&amp;oldid=prev"/>
		<updated>2024-12-10T02:12:56Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2024年12月10日 (二) 02:12的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l41&quot;&gt;第41行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第41行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;一个好的哈希函数（包括大多数加密哈希函数）具有均匀的真正随机输出，因而平均只需要一两次探测（依赖于装填因子）就能找到目标。同样重要的是，随机哈希函数不太会出现非常高的冲突率。但是，少量的可以估计的冲突在实际状况下是不可避免的（参考生日悖论或鸽洞原理）。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;一个好的哈希函数（包括大多数加密哈希函数）具有均匀的真正随机输出，因而平均只需要一两次探测（依赖于装填因子）就能找到目标。同样重要的是，随机哈希函数不太会出现非常高的冲突率。但是，少量的可以估计的冲突在实际状况下是不可避免的（参考生日悖论或鸽洞原理）。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;&#039;链式哈希&#039;&#039;&#039;：每个槽是一个链表或链的头部，碰撞的项会被添加到链中。链表可以保持随机顺序并线性搜索，或按顺序排列，或者按访问频率自排序以加速访问。&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;&#039;开放地址哈希&#039;&#039;&#039;：从已占用的槽开始以指定方式探测表，通常采用线性探测、二次探测或双重哈希，直到找到一个空槽或探测完整个表（溢出）。搜索数据项时遵循相同的程序，直到找到目标项、找到空槽或探测完整个表（数据项不在表中）。&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;在很多情况下，heuristic哈希函数所产生的冲突比随机哈希函数少的多。Heuristic函数利用了相似关键字的相似性。例如，可以设计一个heuristic函数使得像&amp;lt;code&amp;gt;FILE0000.CHK&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;FILE0001.CHK&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;FILE0002.CHK&amp;lt;/code&amp;gt;，等等这样的文件名映射到表的连续指针上，也就是说这样的序列不会发生冲突。相比之下，对于一组好的关键字性能出色的随机哈希函数，对于一组坏的关键字经常性能很差，这种坏的关键字会自然产生而不仅仅在攻击中才出现。性能不佳的哈希函数表意味着查找操作会退化为费时的线性搜索。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;在很多情况下，heuristic哈希函数所产生的冲突比随机哈希函数少的多。Heuristic函数利用了相似关键字的相似性。例如，可以设计一个heuristic函数使得像&amp;lt;code&amp;gt;FILE0000.CHK&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;FILE0001.CHK&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;FILE0002.CHK&amp;lt;/code&amp;gt;，等等这样的文件名映射到表的连续指针上，也就是说这样的序列不会发生冲突。相比之下，对于一组好的关键字性能出色的随机哈希函数，对于一组坏的关键字经常性能很差，这种坏的关键字会自然产生而不仅仅在攻击中才出现。性能不佳的哈希函数表意味着查找操作会退化为费时的线性搜索。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l53&quot;&gt;第53行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第56行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;那些并不紧随IT工业潮流的人往往能反其道而行之，对于那些微小差异足够健壮的哈希函数确实存在。现存的绝大多数哈希算法都是不够健壮的，但是有少数哈希算法能够达到辨别从嘈杂房间里的扬声器里播放出来的音乐的健壮性。有一个实际的例子是Shazam[1] （页面存档备份，存于互联网档案馆） 服务。用户可以用手机打开其app，并将话筒靠近用于播放音乐的扬声器。该项服务会分析正在播放的音乐，并将它于存储在数据库中的已知的哈希值进行比较。用户就能够收到被识别的音乐的曲名。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;那些并不紧随IT工业潮流的人往往能反其道而行之，对于那些微小差异足够健壮的哈希函数确实存在。现存的绝大多数哈希算法都是不够健壮的，但是有少数哈希算法能够达到辨别从嘈杂房间里的扬声器里播放出来的音乐的健壮性。有一个实际的例子是Shazam[1] （页面存档备份，存于互联网档案馆） 服务。用户可以用手机打开其app，并将话筒靠近用于播放音乐的扬声器。该项服务会分析正在播放的音乐，并将它于存储在数据库中的已知的哈希值进行比较。用户就能够收到被识别的音乐的曲名。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=== 专门用途 ===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;&#039;缓存&#039;&#039;&#039;：哈希函数还用于为存储在慢速介质上的大型数据集构建缓存。缓存通常比哈希搜索表更简单，因为任何碰撞都可以通过丢弃或回写较旧的冲突项来解决。&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;&#039;布隆过滤器&#039;&#039;&#039;：哈希函数是布隆过滤器的核心组成部分，布隆过滤器是一种空间高效的概率数据结构，用于测试某个元素是否是集合的成员。&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;&#039;几何哈希（或网格方法）&#039;&#039;&#039;：这是哈希的一种特殊情况。在这些应用中，所有输入组成一个度量空间，而哈希函数可被解释为将该空间划分为一个网格单元。哈希表通常是一个具有两个或多个索引的数组（称为网格文件、网格索引、桶网格等），哈希函数返回一个索引元组。这一原理广泛用于计算机图形学、计算几何学以及许多其他学科，用于解决平面或三维空间中的邻近问题，例如在点集间查找最近点对、在形状列表中寻找相似形状、在图像数据库中查找相似图像等。&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;&#039;关联数组与动态集合&#039;&#039;&#039;：哈希表还用于实现关联数组和动态集合。&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 目前常见的哈希算法 ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 目前常见的哈希算法 ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki_zh:diff:1.41:old-853:rev-854:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Doge</name></author>
	</entry>
	<entry>
		<id>https://zh.feixiaohao.wiki/index.php?title=%E5%93%88%E5%B8%8C%EF%BC%88Hash%EF%BC%89&amp;diff=853&amp;oldid=prev</id>
		<title>2024年12月10日 (二) 02:08 Doge</title>
		<link rel="alternate" type="text/html" href="https://zh.feixiaohao.wiki/index.php?title=%E5%93%88%E5%B8%8C%EF%BC%88Hash%EF%BC%89&amp;diff=853&amp;oldid=prev"/>
		<updated>2024-12-10T02:08:14Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://zh.feixiaohao.wiki/index.php?title=%E5%93%88%E5%B8%8C%EF%BC%88Hash%EF%BC%89&amp;amp;diff=853&amp;amp;oldid=364&quot;&gt;显示更改&lt;/a&gt;</summary>
		<author><name>Doge</name></author>
	</entry>
	<entry>
		<id>https://zh.feixiaohao.wiki/index.php?title=%E5%93%88%E5%B8%8C%EF%BC%88Hash%EF%BC%89&amp;diff=364&amp;oldid=prev</id>
		<title>0x YU小鱼：​创建页面，内容为“== 简述 == 通过密码学算法将任意大小的数据转换为固定大小的字符串，用于验证数据完整性和唯一性。  == 什么是哈希（Hash）？ == &#039;&#039;&#039;哈希（Hash）&#039;&#039;&#039; 是一种广泛应用于计算机科学和密码学的技术，用于将任意长度的输入（如数据、文件或消息）通过特定算法转换为固定长度的输出（通常称为哈希值或摘要）。  这种转换过程不可逆，且哈希值具有唯一…”</title>
		<link rel="alternate" type="text/html" href="https://zh.feixiaohao.wiki/index.php?title=%E5%93%88%E5%B8%8C%EF%BC%88Hash%EF%BC%89&amp;diff=364&amp;oldid=prev"/>
		<updated>2024-11-29T11:57:38Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“== 简述 == 通过密码学算法将任意大小的数据转换为固定大小的字符串，用于验证数据完整性和唯一性。  == 什么是哈希（Hash）？ == &amp;#039;&amp;#039;&amp;#039;哈希（Hash）&amp;#039;&amp;#039;&amp;#039; 是一种广泛应用于计算机科学和密码学的技术，用于将任意长度的输入（如数据、文件或消息）通过特定算法转换为固定长度的输出（通常称为哈希值或摘要）。  这种转换过程不可逆，且哈希值具有唯一…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== 简述 ==&lt;br /&gt;
通过密码学算法将任意大小的数据转换为固定大小的字符串，用于验证数据完整性和唯一性。&lt;br /&gt;
&lt;br /&gt;
== 什么是哈希（Hash）？ ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;哈希（Hash）&amp;#039;&amp;#039;&amp;#039; 是一种广泛应用于计算机科学和密码学的技术，用于将任意长度的输入（如数据、文件或消息）通过特定算法转换为固定长度的输出（通常称为哈希值或摘要）。&lt;br /&gt;
&lt;br /&gt;
这种转换过程不可逆，且哈希值具有唯一性、固定性和高效性。&lt;br /&gt;
&lt;br /&gt;
在区块链技术中，哈希函数是保障数据完整性、安全性和链上透明性的基础工具。&lt;br /&gt;
&lt;br /&gt;
== 哈希的核心概念 ==&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;输入（Input）&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* 哈希函数可以接受任意长度的数据（字符串、文件、交易信息等）作为输入。&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;输出（Output）&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* 哈希函数输出的是固定长度的哈希值（通常为 256 位、512 位等），与输入数据大小无关。&lt;br /&gt;
#* 示例：使用 SHA-256 算法对字符串 &amp;lt;code&amp;gt;blockchain&amp;lt;/code&amp;gt; 进行哈希：&lt;br /&gt;
#* 输入：&amp;quot;blockchain&amp;quot; 输出：&amp;quot;7c1a95e65a2dc66d203d2d8f5f7f8f43c2d845b2efb5d13964e099fa034d3e4d&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;3.不可逆性（Irreversibility）&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
通过输出无法还原原始输入，确保数据的安全性。&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;4.确定性（Deterministic）&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
相同的输入始终产生相同的输出。&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;5.敏感性（Avalanche Effect）&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
输入的微小变化会导致输出哈希值发生巨大差异。&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;6.高效性&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
哈希函数的计算速度快，适合处理大规模数据。&lt;br /&gt;
&lt;br /&gt;
== 常见哈希算法 ==&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;SHA 系列（Secure Hash Algorithm）&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;SHA-256&amp;#039;&amp;#039;&amp;#039;：区块链领域中最常用的哈希算法，输出 256 位哈希值。&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;SHA-3&amp;#039;&amp;#039;&amp;#039;：更现代化的哈希算法，抗攻击能力更强。&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;MD5（Message Digest Algorithm 5）&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* 输出 128 位哈希值，速度快，但安全性不足，容易被破解。&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Keccak-256&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* 用于以太坊网络，是 SHA-3 的变体，生成钱包地址和验证交易。&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;RIPEMD-160&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* 输出 160 位哈希值，用于比特币的地址生成。&lt;br /&gt;
&lt;br /&gt;
== 哈希的主要特性 ==&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;固定长度输出&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* 不论输入数据长度是多少，输出的哈希值长度始终一致。&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;唯一性&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* 不同的输入生成不同的哈希值，碰撞概率极低。&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;抗篡改性&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* 任何对输入的修改都会导致哈希值完全改变。&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;无碰撞性&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* 两个不同的输入几乎不可能产生相同的哈希值（即哈希碰撞）。&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;抗逆性&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* 哈希函数的计算是单向的，无法通过哈希值反推出原始输入。&lt;br /&gt;
&lt;br /&gt;
== 哈希在区块链中的应用 ==&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;区块的哈希值&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* 区块链中，每个区块都有一个哈希值，标识该区块的数据摘要。&lt;br /&gt;
#* 例如，比特币区块头包含上一个区块的哈希值，确保区块链的链式结构。&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;交易数据的完整性验证&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* 区块中存储的每笔交易都会经过哈希处理，确保交易数据无法被篡改。&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Merkle 树（默克尔树）&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* 通过哈希算法构建树状结构，将大量交易数据压缩成一个根哈希值，用于快速验证大批数据的完整性。&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;数字签名和公钥生成&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* 哈希算法在生成钱包地址和数字签名中起到关键作用。&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;共识机制&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* 比特币等区块链采用工作量证明（Proof of Work, PoW）共识机制，通过哈希运算进行挖矿。&lt;br /&gt;
&lt;br /&gt;
== 哈希的工作示例 ==&lt;br /&gt;
假设我们对以下数据进行哈希处理：&lt;br /&gt;
&lt;br /&gt;
输入数据：&amp;lt;code&amp;gt;Hello, Web3!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# 使用 SHA-256 算法，生成的哈希值为：&lt;br /&gt;
&lt;br /&gt;
3347be2e6e7edb89e2e3e1148e9fbe4ddf2339df0cf76f7a14d8dfd2e6a4b42a&lt;br /&gt;
&lt;br /&gt;
2.改变输入数据中的一个字符（如 &amp;lt;code&amp;gt;Hello, Web3!&amp;lt;/code&amp;gt; 改为 &amp;lt;code&amp;gt;Hello, Web3.&amp;lt;/code&amp;gt;），生成的哈希值为：&lt;br /&gt;
&lt;br /&gt;
e55617fc9f48e98b8ed919c6791b5b6b7e8d2c3e184f33a30c9f5b2e34117d6a&lt;br /&gt;
&lt;br /&gt;
可以看到，仅一个字符的改变导致输出哈希值发生巨大变化，验证了哈希函数的敏感性和抗篡改性。&lt;br /&gt;
&lt;br /&gt;
== 哈希的优势与限制 ==&lt;br /&gt;
&lt;br /&gt;
==== 优势 ====&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;高效性&amp;#039;&amp;#039;&amp;#039;：适合快速处理大规模数据。&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;安全性&amp;#039;&amp;#039;&amp;#039;：哈希不可逆，保障数据的隐私和完整性。&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;可靠性&amp;#039;&amp;#039;&amp;#039;：哈希碰撞几率极低。&lt;br /&gt;
&lt;br /&gt;
==== 限制 ====&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;算法强度依赖&amp;#039;&amp;#039;&amp;#039;：较弱的哈希算法（如 MD5）容易被破解。&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;碰撞可能性&amp;#039;&amp;#039;&amp;#039;：虽然几率极低，但理论上仍可能发生。&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;量子计算威胁&amp;#039;&amp;#039;&amp;#039;：未来的量子计算可能破解现有哈希算法。&lt;br /&gt;
&lt;br /&gt;
== 哈希在未来的发展 ==&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;抗量子计算的哈希算法&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* 研究和应用抗量子安全的新型哈希算法，如基于格理论的哈希函数。&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;优化区块链性能&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* 提升现有哈希算法在区块链中的效率，降低计算成本。&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;多领域应用扩展&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* 哈希技术将在 Web3、物联网、数据隐私等领域发挥更大作用。&lt;br /&gt;
&lt;br /&gt;
== 总结 ==&lt;br /&gt;
哈希是一种高效、安全、不可逆的数据处理技术，是区块链、密码学和现代信息技术的重要支柱。在区块链系统中，哈希不仅保障了数据的完整性和透明性，还构建了区块链的核心链式结构。理解哈希的工作原理及其在区块链中的应用，对于深入了解去中心化技术至关重要。&lt;/div&gt;</summary>
		<author><name>0x YU小鱼</name></author>
	</entry>
</feed>