中易网

字符串hash函数是解决什么问题的?

答案:1  悬赏:0  
解决时间 2021-04-28 17:34
  • 提问者网友:依靠
  • 2021-04-28 02:24
字符串hash函数是解决什么问题的?
有很多hash函数,BKDRHash被认为是最适合记忆和使用的
请问字符串hash函数具体应用是什么,功能是什么?可以解决啊些问题?
最佳答案
  • 二级知识专家网友:有钳、任性
  • 2021-04-28 03:29
eMule里什么是HASH?

很多御骡多年的老骡手可能和我一样给新手讲不清楚这个问题,在此我翻查了一些资料,并结合eMule的特性,给大家解释一下


首先我们经常挂在嘴上的就是Hash、UserHash、文件Hash等等这样的词汇

其实Hash翻译成中文是 哈希 在编程上又称作 哈希函数


那么这个函数在eMule 这个P2P软件中起到了什么作用呢?

这里我们需要了解一个概念MD(MD2、MD4、MD5)

我们都知道电影、音乐、软件等等都是以文件的形式储存在计算机器上的

但是我们有时候并没有必要看到文件的全部,或者是一部分才能了解这个文件

就好像看一本书一样,只要知道目录,就知道整本书大概的内容了

那么就由90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest开发

出一套Message-Digest Algorithm <MD>(信息-摘要算法)来;


同时我们引入了哈希函数(HASH)

HASH(哈希)函数提供了这样一种计算过程:输入一个长度不固定的字符串,返回一串定长度的字符串,又称HASH值。

单向HASH函数用于产生信息摘要。



当我们将一个文件放入eMule的共享文件里的时候

我们就开始了这样的算法步骤(大家都能体会到,硬盘狂转-提取文件信息的时候吧)


最终通过这一系列的算法我们得到了一个128个二进制位






ps: hash算法更多的是用来校验文件的完整性














当第一个人把自己的共享文件变成HASH值的时候,向服务器进行的提交


同时可能还有很多提交者,那么他们的HASH值就进入了服务器的一个动态列表里

列表中存放着的是拥有这些同样文件的用户的IP 、PORT等等地址信息

当另外的用户需要下载或者搜索时,服务器就把这个信息传递给需要的用户

那么这个用户就知道到底应该去哪里下载喽

当完成协议验证等等程序流程后,两个小骡骡就开始了点对点的传播
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息