Bitdiff counts bitflips in hash outcomes

Secure hashes such as MD5 and SHA1 claim to flip half their bits on any change to the input, because every input bit is influence on every output bit. This simple tool counts the bits that differ between two hashing outputs in hexadecimal.

This is a single script written in Python and it is available here for free download. It is signed with PGP by the author.

The following script demonstrates how the tool is used.

bash$ echo 'Hello world!' | openssl sha1
47a013e660d408619d894b20806b1d5086aab03b

bash$ echo 'Hello World!' | openssl sha1
a0b65939670bc2c010f4d5d6a0b3e4e4590fb92b

bash$ bitdiff

This program demonstrates the sensitivity of hash values in hex representation
The expectation value of changing bits between different inputs is always 50.0%%

Hash value #1: 47a013e660d408619d894b20806b1d5086aab03b
Hash value #2: a0b65939670bc2c010f4d5d6a0b3e4e4590fb92b

86 out of 160 bits different, or 53.8%

Online version

If you prefer to use this tool from your web browser, go ahead and fill out the fields below. But please don't let it be because you are not running Python on your system -- a system without that is like a tomato without basilicum: sure you can swallow it, but it leaves a feeling of incompleteness on the pallette.

Hash value #1:
Hash value #2:
 


 
   ------ 8< ---------- 8< ----------- 8< ------ | OpenFortress*