You don't. Hashing is one-way. It is simply not possible to re-create the original data from a hash code.
Hashing is most generally used in one of two ways:
1. For security. For example, when a user registers, they provide a password and that password is hashed and stored in the database. That way, noone can ever get their password, even if they look in the database. When the user logs in, the application hashes the password they provide and compares the result to the value in the database. If they match, the user is authenticated.
2. For indexing. For example, a .NET Hashtable hashes its keys and uses them for fast retrieval of the values. When you specify a key, it is hashed and that value used to retrieve the corresponding value.
So, in your case, you might use the has codes to identify the images, but you still need to store the images themselves against those hashed keys.
There's no way to know for sure but I doubt it. Hash codes are usually shorter than that. That looks more like just a hexadecimal value. You could create such a value from an image like so:
Using ms As New MemoryStream
Dim data = ms.GetBuffer()
Dim builder As New stringbuilder
For Each b In data
Note that you can create such a hexadecimal value from any Byte array, so it might be the image itself, the image data encrypted, the image data compressed, the image data encrypted and compressed, etc.
You would use a For loop to process two characters of the String at a time. Byte.Parse can be used to convert each pair of characters to a number. Add the Bytes to a List as you go. When you're done, call ToArray on that List and create a MemoryStream using that Byte array. You can then call Image.FromStream to get an Image object.