那是电驴特有的共享ID
只要那个不变,你改文件名什么的都可以一样在电驴上共享
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等等地址信息
当另外的用户需要下载或者搜索时,服务器就把这个信息传递给需要的用户
那么这个用户就知道到底应该去哪里下载喽
当完成协议验证等等程序流程后,两个小骡骡就开始了点对点的传播
哈希音译自“Hash”,又名为“散列”。本质上是一种计算机程序,可接收任意长度的信心输入,然后通过哈希算法,创建小的数字“指纹”的方式。例如数字与字母的结合,输出的就为“哈希值”。从数学术语上说,就是这个哈希函数,是将任意长度的数据,映射在有限长度的域上。总体而言,哈希函数用于,将消息或数据压缩,生成数据摘要,最终使数据量变小,并拥有固定格式。
那么哈希算法的作用又是什么呢?
(1) 在庞大的数据库中,由于哈希值更为短小,被找到更为容易,因此,哈希使数据的存储与查询速度更快。
(2) 哈希能对信息进行加密处理,使得数据传播更为安全。
哈希算法解决了什么生活问题?
看似深奥的数学函数,又或是计算机程序的哈希算法,其实跟我们的生活息息相关。就拿每年双十一的快递来说,实际上,哈希算法原理提高了快递入库出库的速度。
回退无法回到本来的状态。回退无法回到本来的状态。或者说不方便。比如,在一个很长的list中,点击某个item去看详情,回退会回到list的顶端。无法使用锚点进行定位,与原来的路由冲突。
前端文件hash,一般翻译做散列、杂凑,或音译为哈希,是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)