通用哈希基础知识,如何确保可访问性

发布于 2024-12-29 10:15:08 字数 201 浏览 2 评论 0原文

据我目前的理解,通用哈希是一种在运行时随机选择哈希函数的方法,以保证任何类型输入的合理性能。

我知道我们这样做是为了防止有人故意选择恶意输入进行操纵(确定性哈希函数的可能性是已知的)。

我的问题如下:我们仍然需要保证每次散列密钥时都会将其映射到相同的地址,这不是真的吗?例如,如果我们想要检索信息,但哈希函数是随机选择的,我们如何保证可以检索到我们的数据?

to my current understanding Universal Hashing is a method whereby the hash function is chosen randomly at runtime in order to guarantee reasonable performance for any kind of input.

I understand we may do this in order to prevent manipulation by somebody choosing malicious input deliberately (a possibility of a deterministic hash function is know).

My Question is the following: Is it not true, that we still need to guarantee that a key will be mapped to the same address every time we hash it ? For instance if we want to retrieve information, but the hash function is chosen at random, how do we guarantee we can get back at our data ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你是我的挚爱i 2025-01-05 10:15:08

通用哈希函数是一系列不同的哈希函数,它们具有这样的特性:无论选择哪个哈希函数,从宇宙中随机选择的两个元素都不会发生碰撞。通常,这是通过让实现从一系列哈希函数中选择一个随机哈希函数以在实现内部使用来实现的。一旦选择了这个哈希函数,哈希表就会像往常一样工作——您使用这个哈希函数来计算对象的哈希码,然后将该对象放入适当的位置。哈希表必须记住它所做的哈希函数的选择,并且必须在整个程序中一致地使用它,因为否则(正如您所指出的)它会忘记它映射每个元素的位置。

希望这有帮助!

A universal hash function is a family of different hash functions that have the property that with high probability, two randomly-chosen elements from the universe will not collide no matter which hash function is chosen. Typically, this is implemented by having the implementation pick a random hash function from a family of hash functions to use inside the implementation. Once this hash function is chosen, the hash table works as usual - you use this hash function to compute a hash code for an object, then put the object into the appropriate location. The hash table has to remember the choice of the hash function it made and has to use it consistently throughout the program, since otherwise (as you've noted) it would forget where it mapped each element.

Hope this helps!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文