The problem asks to be creative about breaking hash attempt, well it is a big stretch even for simplistic example, but let's try.
- You are given a password
12345 from user
827ccb0eea8a hash, that is first 6-bytes of the hash.
- A standard hashing function has been used - it means MD5. Why?
- The construction of the task asks for preimage attack, it must be homemade breakable and possibly already hashed and shown online, otherwise it would not be possible to crack without substantial resources.
- It cannot be salted, because the salt was not given in the task, but using salt is a wise thing to do - it prevents the rainbow tables attacks and in the case like here, you have a collection of hashes would be harder to recover in batches.
- The MD5 is built-in into PHP and easily accessible in the most programming languages (MD5 implementations)
- Try them until the match is found and then take the steps to hash your password.
Make the test of standard functions (like MD5, SHA256) of any combination of
12345, it may be concatenated or xored, in fact it is not. First try out of lazy guess,
It tells that no salt or username was used, just plain password hashed with deprecated function. The other hashes are irrelevant at this point, but seeing the pattern, find simple MD5 of potential passwords until the first 6 bytes are like in the list.
After the scheme is known, the task is to produce the output from