Hi all, I’m trying to recreate the Hash(1) value from Julia 1.1 in our Julia 1.6 codebase.
Hash(1) Julia 1.5: 0x02011ce34bce797f Hash(1) Julia 1.6: 0x5bca7c69b794f8ce
I’ve delved deep into the c code, without a lot of success. Maybe someone who understands it better than me can advise: What code is required to create a J1.5 Hash function so we can produce the same hashes in J1.6?
The hashing.c file doesn’t appear to have any material changes between the two versions release-1.1/src/support/hashing.c and release-1.6/src/support/hashing.c
Just for the future, I identified this by just looking at @less hash(1, UInt(0)) on both 1.1 and 1.7. From there it’s pretty easy to see how the codepaths diverge and — fortunately! — Base.hash_uint64 still exists on 1.7 so it’s a short one-liner. Even if it didn’t, though, you could’ve just grabbed its old definition.
Yes - i’m aware of that. I’m not complaining about the hash changing, I’m just attempting to re-create the code that existed under J1.1 in order to attain the same hash.