回覆列表
  • 1 # 使用者5376173803818

    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

    同時我們引入了雜湊函式(HASH)

    HASH(雜湊)函式提供了這樣一種計算過程:輸入一個長度不固定的字串,返回一串定長度的字串,又稱HASH值。

    單向HASH函式用於產生資訊摘要。

    當我們將一個檔案放入eMule的共享檔案裡的時候

    我們就開始了這樣的演算法步驟(大家都能體會到,硬碟狂轉-提取檔案資訊的時候吧)

    最終透過這一系列的演算法我們得到了一個128個二進位制位

    ps: hash演算法更多的是用來校驗檔案的完整性

    當第一個人把自己的共享檔案變成HASH值的時候,向伺服器進行的提交

    同時可能還有很多提交者,那麼他們的HASH值就進入了伺服器的一個動態列表裡

    列表中存放著的是擁有這些同樣檔案的使用者的IP 、PORT等等地址資訊

    當另外的使用者需要下載或者搜尋時,伺服器就把這個資訊傳遞給需要的使用者

    那麼這個使用者就知道到底應該去哪裡下載嘍

    當完成協議驗證等等程式流程後,兩個小騾騾就開始了點對點的傳播

  • 中秋節和大豐收的關聯?
  • 寫給校園的三行情書?