是否有人知道什麼是從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. Ruby使用什麼哈希函數?
- 2. 哈希函數爲什麼要使用素數模數?
- 3. InvalidCastException當調用哈希函數
- 4. Enumerations中哈希的含義是什麼?
- 5. Rabin-Karp算法的最佳哈希函數是什麼?
- 6. 什麼SHA2哈希函數不境界點網使用
- 7. Perl中的哈希和哈希引用有什麼區別?
- 8. 一致哈希和錐哈希之間的區別是什麼?
- 9. 什麼是圖像哈希用於?
- 10. Python哈希函數和哈希對象
- 11. 什麼是在JavaScript中使用的哈希標籤?
- 12. 這個哈希/緩存/版本控制算法的名稱是什麼?
- 13. C#什麼應該是緩存不同哈希集結果的關鍵
- 14. jQuery:當url中存在特定的哈希函數時觸發函數...?
- 15. PHP哈希函數
- 16. Java哈希函數
- 17. 哈希Python函數
- 18. 爲什麼我的哈希不是undef?
- 19. 什麼是MongoDB哈希的大小?
- 20. 如何緩存AST的哈希碼?
- 21. 使用函數創建哈希
- 22. 什麼哈希函數用於網絡搜索引擎索引
- 23. 爲什麼鹽被包含在用C crypt函數哈希
- 24. 這是一個適當的使用Python的內置哈希函數?
- 25. 什麼是Rails中的動態哈希查找器和/或哈希查找器?
- 26. 在javascript中構建哈希表和完美的哈希函數
- 27. DB2 for zOS中是否存在CRC32或其他哈希函數?
- 28. 哈希函數的確定
- 29. 完美的哈希函數
- 30. 與Glibc的哈希函數