>>New hashing algorithm >>Hash values vary from run to run (so don’t depend on hash values or order) I must be reading this wrong. One of the requirements for a good hash function is determinism - specifically that any given value in the input space maps to exactly one value in the output space.
So, what you shouldn’t do is:
- storing a hash value on disk, assuming it to be valid in a later run.
- assume that a hash map that has the same content as a hash map of a previous run has the same iteration order (not even if the calls used to construct them are 100% identical, and not even if both were constructed from the same literal).
I expect this was added to thwart DoS attacks (http://ocert.org/advisories/ocert-2011-003.html)