信息指紋可以理解爲 將一段信息(文字,圖片,音頻,視頻等)隨機地 映射到 一個多維二進制空間中的一個點(一個二進制數字)。隨機函數做得好,不同信息對應的點不會重合,這些二進制的數字爲原來信息所具有的獨一無二的指紋。
用來提高存儲空間,節約查找時間的。
信息指紋 有 網址的消重性,密碼性。它具有不可逆性,即無法根據信息指紋推出原有信息。
映射函數爲 僞隨機數產生器。加密的僞隨機數產生器(CSPRNG)。
信息指紋的用途:
判定集合相同:
1、兩個集合一一做比較:O(N*N)
2、兩個集合分別排序,順序比較:O(NlogN)
3、第一個集合放在哈希表中,把第二集合的元素和哈希表中元素比較:O(N)外加O(N)的空間
4、計算兩個集合的指紋:O(N)。計算集合元素的指紋,然後相加,(由於加法的交換律,保證指紋不因元素出現的次數而改變)
判定兩個集合基本相同:
比如:找出兩個網頁中幾個詞構成 特徵詞集合(找出IDF最大的幾個詞),計算它們的信息指紋。
視頻匹配:關鍵幀的提取 和 特徵提取。
相似哈希(Simhash):一種特殊的信息指紋。
一個網頁有若干詞t1t2…tk,對應權重(TF-IDF)爲w1w2…wk。
將第一個詞t1的指紋定爲8位(r1r2…rk),若rn爲1,則權重爲+w1;若rn爲0,則權重爲-w1.
其他詞做同樣操作,最後相加。得到8位指紋的8個權重值,當權重大於0,爲1;當權重小於0,爲0.
這樣得到了一個8位二進制指紋。
若果兩個網頁的相似哈希相差小,則這兩個網頁的相似性高。