是否有人知道什麼是從Mozilla Firefox瀏覽器使用的URL生成哈希值的緩存映射哈希函數?我已經發現了這個http://benlast.livejournal.com/29164.html,它提供了一個很好的示例代碼,不幸的是我認爲它已經過時,並且在當前版本的Firefox中不再使用。 任何幫助將不勝感激。什麼是Firefox中使用的當前緩存哈希函數?
1
A
回答
1
您可以在這裏看到Firefox使用的哈希算法:http://hg.mozilla.org/mozilla-central/file/09935ede3c77/netwerk/cache/nsDiskCacheDevice.cpp#l272。它非常簡單,但與鏈接的不同(我檢查了Firefox 3.5和Firefox 3.6之間的變化)。實際上,它似乎將URL視爲一系列無符號整數(小端,必要時用零填充),並將它們添加到變量a
,b
和c
(前後數字爲a
,第二個和第五個爲b
,第三和第六到c
)。然後將這三個變量合併到函數hashmix()
中。
爲a
和b
初始值是0x9e3779b9
,用於c
值是稍微更復雜 - 它在作爲參數。所有呼叫者都使用此參數的默認值,但是這是0(請參閱nsDiskCache.h
)。
我想http://burtleburtle.net/bob/hash/evahash.html可能會提供有關所用算法的更多信息。
相關問題
- 1. 什麼是杜鵑哈希中的「新哈希函數」?
- 2. Ruby使用什麼哈希函數?
- 3. 當我在unoder容器中使用bitset時,哈希函數是什麼樣子?
- 4. DJB哈希函數中5381數字的原因是什麼?
- 5. 哈希函數爲什麼要使用素數模數?
- 6. 在C++ std :: unordered_map中使用的默認哈希函數是什麼?
- 7. 什麼是Blur.js中的緩存前綴?
- 8. 哈希中的4/16是什麼?
- 9. Enumerations中哈希的含義是什麼?
- 10. InvalidCastException當調用哈希函數
- 11. 在Rails中,什麼是壓縮哈希到嵌套哈希
- 12. Rabin-Karp算法的最佳哈希函數是什麼?
- 13. Perl使用什麼哈希函數/算法?
- 14. 什麼SHA2哈希函數不境界點網使用
- 15. Perl中的哈希和哈希引用有什麼區別?
- 16. 一致哈希和錐哈希之間的區別是什麼?
- 17. 什麼是圖像哈希用於?
- 18. 什麼是Node.js相當於PHP哈希函數(包括鹽和原始輸出)?
- 19. 什麼是在JavaScript中使用的哈希標籤?
- 20. Python哈希函數和哈希對象
- 21. 這個哈希/緩存/版本控制算法的名稱是什麼?
- 22. C#什麼應該是緩存不同哈希集結果的關鍵
- 23. 使用存儲在Perl中的數組哈希中的鍵切片哈希
- 24. jQuery:當url中存在特定的哈希函數時觸發函數...?
- 25. 什麼是MongoDB哈希的大小?
- 26. 爲什麼我的哈希不是undef?
- 27. 內存緩存哈希生成
- 28. 哈希Python函數
- 29. PHP哈希函數
- 30. Java哈希函數