## Hashing and Cracking

Hash functions can map data of arbitrary size to data of a fixed size. (Hash functions in Wikipedia)

The ones used in cryptography are usually non-invertible.

This means that there is no easy way to reconstruct the original input. (One-way functions in Wikipedia)

However, there is a hard way: we can try all possible inputs until we find one that matches the hash. (Brute-force search in Wikipedia)

This simple app can do the following:

- Calculate the hash of an arbitrary input (key) using 6 different hash functions.
- "Brute force" the key from a given hash is key is maximum 4 characters long and only contains lower case letters of the English alphabet

### This is where you can hash a key:

### Hashes will appear here:

** MD5 : **
A3ACA2964E72000EEA4C56CB341002A4

** SHA1 : **
EFFDB5F96A28ACD2EB19DCB15D8F43AF762BD0AE

** SHA224 : **
28B362267F091072129D79CF43D7B72CB7275E21CCAEF97C31111853

** SHA256 : **
24D166CD6C8B826C779040B49D5B6708D649B236558E8744339DFEE6AFE11999

** SHA384 : **
076307B52CF6A2E3AE5C75BD2F8403F2E396184E9AB71FAE9E4CB456133D6B1C14B94B2C12C66072BAF0F008895FF9B8

** SHA512 : **
DDEA8EEE5CB0D9F74B29866E3F4558BB2EAF75298D84B04BD074B2ABD103246C1FB0703A118F847F21B975A49FE18E3D284BCAF9728F20D99EB31A4F5468CA3C