轉載自北京江民論壇:http://forum.jiangmin.com/viewthread.php?tid=563628
學過計算機數據結構的人對於哈希存儲並不陌生,哈希定位其實也是基於哈希表的原理製作出來的。MD5算法就是一種哈希算法。
哈希定位的方法是:
散列函數能使對一個數據序列的訪問過程更加迅速有效,通過散列函數,數據元素將被更快地定位ǐ
1. 直接尋址法:取關鍵字或關鍵字的某個線性函數值為散列地址。即H(key)=key或H(key) = a•key + b,其中a和b為常數(這種散列函數叫做自身函數)
2. 數字分析法
3. 平方取中法
4. 折疊法
5. 隨機數法
6. 除留餘數法:取關鍵字被某個不大於散列表表長m的數p除後所得的餘數為散列地址。即 H(key) = key MOD p, p<=m。不僅可以對關鍵字直接取模,也可在折疊、平方取中等運算之後取模。對p的選擇很重要,一般取素數或m,若p選的不好,容易產生同義詞。
MD5-Hash-文件的數字文摘通過Hash函數計算得到。不管文件長度如何,它的Hash函數計算結果是一個固定長度的數字。與加密算法不同,這一個Hash算法是一個不可逆的單向函數。採用安全性高的Hash算法,如MD5、SHA時,兩個不同的文件幾乎不可能得到相同的Hash結果。因此,一旦文件被修改,就可檢測出來。
從上述說明可以看出,指紋掃瞄與哈希算法關係密切。
*****************************************************
Hash定位或許不算個新技術,但應用在防毒軟體偵測上,江民還真的是領先全球啊~
不過在尋找相關資料的同時卻也發現,相關的知識在國內幾乎遍尋不著,中國大陸的相關文章反而不少,這是代表台灣的科技資訊真的已經落後中國了嗎?
台灣政府及學者們是不是該省思一番呢?
留言列表