[英]How to generate unique hash values?
我有1000萬條記錄。 每個記錄有大約100個字段。 讀取記錄時,我想確定該記錄是否與我先前閱讀的另一條記錄重復。 重復檢查的標准基於20個字段,並檢查是否完全相同。 我可以獲取新記錄,並與20個字段中的每個字段的所有先前記錄進行比較。
我正在考慮的另一種方法是將20個字段散列為單個字段,並將散列與所有先前記錄的散列進行比較。 為此,我需要一個可以賦予我唯一性的哈希函數。 我知道有一些函數,例如SHA512,SHA224等。哪個哈希函數適合我的用例?
問候,
亞什
您追求的是“ 完美哈希 ”。 有一種經典的方法,您可以分兩個步驟構造哈希函數,即,通過組成兩個哈希函數。 該結構有些復雜,但是您可能需要對其進行研究。
我之前沒有做過這么大規模的工作,但我會分享我的經驗,希望能有所幫助。 這是一個簡單的解決方案,由於您使用java標記發布了此代碼,因此我假設您已經掌握了基礎知識。 解決方案將分為3部分:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.