title: Deterministic hashing in Python 3
body: <p>I'm using hashing of strings for seeding random states in the following way:</p>
  
  <pre><code>context = "string"
  seed = hash(context) % 4294967295 # This is necessary to keep the hash within allowed seed values
  np.random.seed(seed)
  </code></pre>
  
  <p>This is unfortunately (for my usage) non-deterministic between runs in Python 3.3 and up. I do know that I could set the <code>PYTHONHASHSEED</code> environment variable to an integer value to regain the determinism, but I would probably prefer something that feels a bit less hacky, and won't entirely disregard the extra security added by random hashing. Suggestions?</p>