SHA256 Hash Cracking

SHA-256 is a hashing function similar to that of SHA-1 or the MD5 algorithms. The SHA-256 algorithm generates a fixed size 256-bit (32-byte) hash. Hashing is a one way function – it cannot be decrypted back. However it can be cracked by simply brute force or comparing hashes of known strings to the hash.

Below is an example hash, this is what a SHA-256 hash of the string password looks like. Identification of these hash types is a matter of picking the length and then starting with the most common forms of these hashes.

5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8

Go ahead and test our free password recovery of a SHA-256 hash using a password dictionary and brute force matching of the resulting hash.

Hash:



Please wait while we match the password
Job complete, the hash was found: {{ submitresponse }}
Job complete, the hash was not found.
Error starting job, please check hash.

Background on SHA-256 Hashes

SHA-2 is a family of hashes including the popular SHA-256 and SHA-512 functions. These are generated using a similar technique however they are stronger mathematically, making brute force attacks against them more difficult. Even so, there are better encryption algorithms that can be used for modern web applications. A popular and secure method is the bcrypt function.

Cracking SHA-256 Hashes

Attacking (often referred to as cracking) SHA-256 hashes is performed using the same technique as any one-way hashing function. Computing possible matches of the original string as fast as possible to find a matching hash.

See the following chart to get an idea of the weakness in standard hashing algorithms for password storage. These show brute force attempts against a single hash. cudaHashcat is running on an NVIDIA 560 GTX GPU that is a few years old now, so consider these on the low end of what is capable.

Note the difference between hashcat and cudaHashcat against the same SHA-1 hash. You are reading that correctly MD5 hashes being brute forced at 1.8 billion per second.