哈希

哈希是一种将一个值转换为另一个值的函数。对数据进行哈希处理是计算机科学中的常见做法,可用于多种不同用途。例如密码学压缩、生成校验和以及数据索引

哈希处理非常适合密码学,因为它会使用另一个值来掩盖原始数据。哈希函数可用于生成一个值,只有通过哈希表查找该值才能对其进行解码。该表可以是数组数据库或其他数据结构。良好的加密哈希函数是不可逆的,这意味着无法通过逆向工程还原它。

由于哈希值通常小于原始值,因此哈希函数可能会生成重复的哈希值。这些重复值称为“冲突”,当不同的源数据产生相同的值时就会发生冲突。可以使用多个哈希函数,或在遇到重复的哈希值时创建溢出表来解决冲突。使用更大的哈希值可以避免冲突。

不同类型的压缩例如(有损图像压缩和媒体压缩)可能会使用哈希函数来减小文件大小。通过将数据哈希为更小的值,可以将媒体文件压缩成更小的数据块。这种单向哈希无法还原,但可以生成原始数据的近似结果,并且所需的磁盘空间更少。

哈希还用于创建校验和,以验证文件的完整性。校验和是根据文件中的或数据块例如(磁盘映像)生成的小值。对文件副本(例如从互联网下载的文件)运行校验和函数时,应生成与原始文件相同的哈希值。如果文件生成的校验和不同,则说明文件中的某些内容发生了变化。

最后,哈希用于为数据建立索引。哈希值可用于将数据映射到哈希中的各个“桶”。每个桶都有一个唯一 ID,用作指向原始数据的指针。这样就能创建一个比原始数据小得多的索引,从而更高效地搜索和访问这些值。

更新日期 April 21, 2018 作者 Per C.

quiz测试你的知识

Which app is an example of edutainment?

A
Spotify
0%
B
Duolingo
0%
C
Reddit
0%
D
Nextdoor
0%
Correct! Incorrect!     View the Edutainment definition.
More Quizzes →

Tech Terms 计算机词典

本页中哈希的定义是由 TechTerms.com 的作者撰写的原创定义。如果您想引用本页或引用此定义,请使用定义正下方的绿色引用栏。

我们的目标是以简单易懂的方式解释计算机术语。我们努力使发布的每个定义都做到准确和简明。如果您对本定义有任何反馈,或想建议一个新的技术术语,请联系我们

Tech Terms 通讯

通过我们的每日或每周通讯提升您的技术知识!立即订阅,即可将新术语和测验发送到您的收件箱。

订阅免费的 TechTerms 通讯

您希望多久收到一封电子邮件?

您可以随时使用每封邮件中的链接取消订阅或更改接收频率。 有疑问?请联系我们

注意:通讯以英文发送。