Hashing a dictionary?

Using sorted(d.items()) isn’t enough to get us a stable repr. Some of the values in d could be dictionaries too, and their keys will still come out in an arbitrary order. As long as all the keys are strings, I prefer to use: json.dumps(d, sort_keys=True) That said, if the hashes need to be stable across … Read more

Hash collision in git

Picking atoms on 10 Moons An SHA-1 hash is a 40 hex character string… that’s 4 bits per character times 40… 160 bits. Now we know 10 bits is approximately 1000 (1024 to be exact) meaning that there are 1 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 … Read more

Fastest hash for non-cryptographic uses?

fcn time generated hash crc32: 0.03163 798740135 md5: 0.0731 0dbab6d0c841278d33be207f14eeab8b sha1: 0.07331 417a9e5c9ac7c52e32727cfd25da99eca9339a80 xor: 0.65218 119 xor2: 0.29301 134217728 add: 0.57841 1105 And the code used to generate this is: $loops = 100000; $str = “ana are mere”; echo “<pre>”; $tss = microtime(true); for($i=0; $i<$loops; $i++){ $x = crc32($str); } $tse = microtime(true); echo “\ncrc32: … Read more

Why does Python’s hash of infinity have the digits of π?

Summary: It’s not a coincidence; _PyHASH_INF is hardcoded as 314159 in the default CPython implementation of Python, and was picked as an arbitrary value (obviously from the digits of π) by Tim Peters in 2000. The value of hash(float(‘inf’)) is one of the system-dependent parameters of the built-in hash function for numeric types, and is … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)