This week's book giveaway is in the OCPJP forum. We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line! See this thread for details.
On the whole it is very difficult to see what your code is trying to do so it is not obvious to me what you are asking.
Are you asking how to take a message digest and recover the message? If so you can't because a message digest is a one way algorithm. There are sites that say they can do this but all they do is maintain a large database of mappings from messages to digests. There are an infinite number of possible messages but only a finite number of digest values (2^16 for MD5) so for each digest value there are an infinite number of messages that can be used to create it.
Are you asking why
Converted to Original Hash=[B@136a1a1
is not what you expect? If so you should note that the toString() method of an array (your println() uses it behind the scenes) does not in any way reflect the content of that array. You will need to hex encode the content if you expect to see hex.
Please note - the line
does not preserve leading zeros so is a very bad way of converting a digest to a hex string. You would do better to use one of the open source libraries such as that from the Jakarta Codec project.
Retired horse trader.
Note: double-underline links may be advertisements automatically added by this site and are probably not endorsed by me.