What is hashing?
Hashing is the process of applying a "cryptographic hash function" to some blob of data. The result of this function is a small fixed sized value that is defined by the data we put into it.
Simply put: the hash result should change if the input data changes which means that in the context of files we can use the hash value to verify a file against corruption or tampering. In either of those cases the hash of the file will be different than what it should be.
Hashes are also small enough to be put on a webpage next to download links and that's usually what happens.
kitten_picture.zip - 272d24d2119baebc3e017e382b02a60b (md5)
There are various examples of hash functions used for files.
The common ones are MD5, SHA1 and SHA256. CRC32 is strictly speaking not hash function, but for our purposes we can think of it as one.
Ok, so how do I get the hash of a file?
Normally this is where you'd use your desktop application of choice. Maybe look for it in your app launcher, start it, search for the file, click some button.
For smaller files, you could use one of the old server-based hashing sites that would upload all your content somewhere and the owner would promise really hard to delete it immediately after it's hashed.
These used to be the only way to do it before browsers were powerful enough to do the task themselves.
This is where Hash & Validate comes in.
Using it is simple:
- Go to http://www.toolsley.com/hash.html
- Drag & drop or select the file (if you're using Chrome you can drag from the download bar directly)
Your file was never uploaded anywhere.
It look less than a second.
You didn't have to install anything.
You can now compare the calculated hash against the original.
Not bad, but what about larger files?
Hash & Validate can handle files over 10 gigabytes in size.
It won't be as fast as a desktop tool but for the majority of hashing needs it's plenty fast already.
Let's get back to our example above. Say we want to send this hash to someone because they can't seem to open their copy of the file and want to know if it's corrupted or not.
Can't we do something about the whole "here's a long string of letters and numbers, go ahead and compare it by eye" thing?
If you click on the green "Link" buttons after hashing a file you'll be a given a validation link.
This link opens the tool in validation mode where selected files are immediately validated against the hash.
Here's a validation link for the example file up top: 272d24d2119baebc3e017e382b02a60b
You can use this feature on existing hashes as well. The link format is pretty straightforward:
www.toolsley.com/hash.html#v=[hash function]|[hash]so for example: