In addition to Solution 2. Not only it is impossible. I think some stronger statements are correct:
- There is no such concept as "hash type" or, say, "hash function type".
- The hypothetical ability to determine which function was used for generating a given hash value is not a requirement for a cryptographic hash function.
- The hypothetical ability to determine which function was used for generating a given hash value would contradict the requirements for a cryptographic hash function.
By the way, if one knows a particular function/algorithm which was used for calculation of the function value, this information should be useless for calculation of the original image in input of this function. This is the consequence from the requirements to a cryptographic hash function.
To understand it, you need to understand the notion of cryptographic hash function, its purpose, and requirements imposed on the algorithm:
https://en.wikipedia.org/wiki/Cryptographic_hash_function[
^].
According to this purpose, there are no such situations where the information on a particular cryptographic hash function used to produce some given hash value could possibly be useful. Such knowledge is only needed for the members of development team, to make sure that correct function is used — such candidates for such function have been broken and should never be used for cryptographic purposes.
[EDIT]
After looking at v.8 of the question I even wasted some time to "test" the "Online hash ID" "service". I have no idea what it was written for, but of course it does not "identity" the "hash type".
I think this is a pure bogus. In response to hash, it simply list of hash function returning the hash of given size, all such functions
known to the author. That's all the "secret".
—SA