我正在尋找一種方法來識別數據,以防止它在內存中多次加載。我認爲這樣做的一個好方法是爲每個數據緩衝區創建一個散列,並將其用作一種id。散列數據。適當的算法?
,我需要從8張KB的圖片散列範圍,40個KB的動畫,到3 – 5 MB的音樂文件,以< 0.5 MB的聲音文件中的數據。你認爲什麼是我的情況最好的哈希算法?對於這個問題,將數據散列到要走的路上,還是應該考慮用其他方法來識別數據?
我正在尋找一種方法來識別數據,以防止它在內存中多次加載。我認爲這樣做的一個好方法是爲每個數據緩衝區創建一個散列,並將其用作一種id。散列數據。適當的算法?
,我需要從8張KB的圖片散列範圍,40個KB的動畫,到3 – 5 MB的音樂文件,以< 0.5 MB的聲音文件中的數據。你認爲什麼是我的情況最好的哈希算法?對於這個問題,將數據散列到要走的路上,還是應該考慮用其他方法來識別數據?
有許多的廣泛使用強算法:
較弱的一個 * CRC(10字節)拇指
的一般規則:與它們的大小
散列是要走的路。請記住,對於非常非常大的項目集合,您應該考慮發生衝突的概率(即使用散列查找,然後按內容進行線性搜索)。
只要你似乎是存儲文件,它可能是很好的做一個複合鍵:
該散列具有以下優點:
$ 0.02
我會從比較文件大小開始。如果它們相同,則可以使用一些快速哈希算法,如Adler32或VMAC-64。