我正在編寫一個python程序來查找文件。該文件是由C++程序創建的,其散列文件名爲(std::hash<std::string> hash_fn
)。 我知道從哪個字符串創建哈希,但我找不到一個產生相同哈希的python哈希函數(我試過hash()
,全部在hashlib
)。 作爲一個例子,該字符串python <=> C++跨語言散列
file:///home/ubuntu/Untitled.skp
應該給哈希:
3133433022
不幸的是,我沒有在C++程序的控制,只對Python腳本(或最終的Python擴展)。 是否有可能找到或實現與C++使用的相同的散列函數?或者我應該嘗試另一種方法?
C++標準AFAIR未指定確切的散列算法。所以我們需要更多關於您的環境的信息 - 或者空字符串的散列值可能是我們需要的所有信息。 – ch3ka
檢查了這一點:http://effbot.org/zone/python-hash.htm –
你顯示的散列非常簡單,任何兩個字符串開始相同的5個字母將具有相同的散列。 – Dani