2015-01-15 45 views
5

我使用字符串的哈希以下列方式播種隨機狀態:確定性哈希在Python 3

context = "string" 
seed = hash(context) % 4294967295 # This is necessary to keep the hash within allowed seed values 
np.random.seed(seed) 

這是不幸的是(我使用)在Python 3.3及以上非確定性運行之間。我知道我可以將PYTHONHASHSEED環境變量設置爲一個整數值以重新獲得確定性,但我可能更喜歡某種感覺不那麼晦澀的東西,並且不會完全忽視由隨機哈希添加的額外安全性。建議?

回答

5

使用特製的散列函數。 zlib.adler32()是一個很好的選擇;或者,查看hashlib模塊瞭解更多選項。

+0

完美,謝謝! –