什么是散列?(hashes?)

散列是一种数学公式,它获取长度可变的数据字符串(通常以文本形式),并将其转换为较短的固定长度数值。为了使搜索速度更快、效率更高,哈希在计算机数据库中经常使用。除其他用途外,它们还用于加密,以确保密码不被泄露,并验证数字签名。散列也可以用散列函数的名字来表示,也可以被认为是算法。...

散列是一种数学公式,它获取长度可变的数据字符串(通常以文本形式),并将其转换为较短的固定长度数值。为了使搜索速度更快、效率更高,哈希在计算机数据库中经常使用。除其他用途外,它们还用于加密,以确保密码不被泄露,并验证数字签名。散列也可以用散列函数的名字来表示,也可以被认为是算法。

Hashes play a big role in facilitating database searches.

散列在促进数据库搜索方面发挥着重要作用。例如,在由姓名组成的数据库中,如果用户搜索“John Doe”,计算机必须将搜索中的所有字符与每个数据库条目的字符进行匹配。名字中的每个字符都有26种不同的可能性——英语字母表中的字母——而条目的可变长度也会减慢搜索速度。

相比之下,应用哈希函数将使计算机的生活更加轻松。将每个文本字符串转换为一系列数字将简化搜索,因为计算机只有十种可能检查每个字符:数字“0”到“9”。数字序列的固定长度也有助于计算机更高效地完成其工作

在应用了哈希函数的数据库中,所有条目都有一个对应的唯一编号。这称为散列键。在这种情况下,当您进行搜索时,计算机首先将哈希函数应用于您编写的输入,例如“John Doe”。这将生成一个数值,例如“456789”。然后,计算机可以快速将该结果与正确输入对应的哈希键相匹配;

散列也可以用作数字签名。例如,发件人Robert希望将文档发送给某人,而收件人Mary希望确保文档在发送过程中未被篡改。发送者Robert只需通过一个哈希函数运行文档,该函数将生成一个数值。然后,Robert对散列密钥进行加密,并将文档与加密密钥一起发送

Mary接收这两个项目并解密哈希密钥。她现在可以看到文件发送前产生的数值。为了验证她手中的文档是否完全相同,她通过计算机上的哈希函数运行文档。最后,她比较了两个键。如果它们是相同的,那么文档在发送给收件人的过程中没有被更改。

存在许多不同的散列函数,每个函数都有自己的数学公式。为了使散列函数工作,它必须最小化任何冲突,当两个数据库条目具有相同的散列键时会发生冲突。散列函数也必须是单向的。这意味着您可以从数据库条目或文档生成密钥,但不能反过来。换句话说,您不能从原始文档的哈希键对其进行“反向工程”。

  • 发表于 2021-12-07 12:39
  • 阅读 ( 278 )
  • 分类:互联网

你可能感兴趣的文章

开采以太坊最好的电脑是什么?

...特币开采一样,以太坊开采也越来越受欢迎。但是你需要什么样的电脑呢? ...

  • 发布于 2021-03-14 07:00
  • 阅读 ( 261 )

4个简单的信息散列torrent磁铁转换器

... 大多数人认为他们永远不需要担心这些术语指的是什么或者它们与下载过程的关系。但有时知道是有益的。 ...

  • 发布于 2021-03-19 07:52
  • 阅读 ( 258 )

6个免费的哈希检查程序来检查任何文件的完整性

... 然而,这个系统还远远不够完善,这就是为什么许多人喜欢使用文件哈希生成和检查工具来交叉引用他们的软件。想了解有关加密和哈希的更多信息吗?这里有十个基本的加密术语,每个人都应该知道和理解! ...

  • 发布于 2021-03-19 07:54
  • 阅读 ( 343 )

推特(twitter)和发短信(texting)的区别

...et时,您很容易注意到tweet中通常有#和@这样的字符。这些是散列标签,用于指定关键字或指示用户。每个字符都有自己的意义和功能。通过使用搜索引擎,hash标签还使tweets更易于搜索。发短信没有这个功能。 Twitter是一种网络服...

  • 发布于 2021-06-23 07:24
  • 阅读 ( 376 )

加密(encryption)和散列(hashing)的区别

加密与散列 加密是使用一种算法将纯文本(即一些有用的信息)转换成文本的过程,该文本可以由拥有解锁该信息的密钥的人读取。使用的算法称为密码,要解锁数据,需要有密钥。最简单的加密过程之一是使用简单密钥的Cae...

  • 发布于 2021-06-23 18:52
  • 阅读 ( 262 )

散列表(hashmap)和哈希表(hashtable)的区别

...者之间的一些关键区别,以帮助您更好地理解术语。   什么是散列表(hashmap)? HashMap是一个基于哈希表的Map实现,它为**和定位对提供了恒定的时间性能。HashMap类提供了一个基于哈希表数据结构的映射实现。此实现支持所有映...

  • 发布于 2021-06-25 20:14
  • 阅读 ( 255 )

散列表(hashmap)和linkedhashmap公司(linkedhashmap)的区别

...类的特性。两者在性能上没有太大差别。我们来看看。 什么是散列表(hashmap)? HashMap是Java中基于散列算法的Map接口的四种通用实现之一,也是最常见的。它类似于set类HashSet,不过,两个类中的元素都是无序的。它实现为哈希...

  • 发布于 2021-06-25 20:26
  • 阅读 ( 232 )

散列(hashing)和加密(encryption)的区别

...法读取。它有助于安全地传输数据。 覆盖的关键领域 1.什么是哈希-定义,功能2.什么是加密-定义,功能3.哈希和加密的区别是什么-密钥差异比较 关键术语 哈希、加密 什么是散列(hashing)? 哈希是一种数学运算,它将数据转换...

  • 发布于 2021-07-01 01:39
  • 阅读 ( 604 )

索引(indexing)和散列(hashing)的区别

...索引和哈希是与DBMS相关的两个概念。 覆盖的关键领域 1.什么是索引-定义,功能2.什么是哈希-定义,功能3.索引和哈希的区别是什么-关键区别的比较 关键术语 数据库管理系统,**索引,散列,索引,有序索引,主索引,辅助索...

  • 发布于 2021-07-01 07:28
  • 阅读 ( 352 )

静止的(static)和动态哈希(dynamic hashing)的区别

...型的散列称为静态散列和动态散列。 覆盖的关键领域 1.什么是静态哈希-定义,功能2.什么是动态哈希-定义,功能3.静态哈希和动态哈希的区别是什么-关键区别的比较 关键术语 哈希、静态哈希、动态哈希 什么是静态哈希(static h...

  • 发布于 2021-07-01 07:30
  • 阅读 ( 339 )
zufj0091
zufj0091

0 篇文章

相关推荐