Ok, to be blunt, your scheme is broken and you are misunderstanding hash functions completely.
Hash functions are one way. You are not supposed to be able to reverse them - in fact, there are times when two different strings will have the same hash. For example,
4dc968ff0ee35c209572d4777b721587d36fa7b21bdc56b74a3dc0783e7b9518afbfa200a8284bf36e8e4b55b35f427593d849676da0d1555d8360fb5f07fea2
4dc968ff0ee35c209572d4777b721587d36fa7b21bdc56b74a3dc0783e7b9518afbfa202a8284bf36e8e4b55b35f427593d849676da0d1d55d8360fb5f07fea2
Both Md5() to: 008ee33a9d58b51cfeb425b0959121c9
(source)
There's just no way to "reverse" them, since that is the point of a "message digest".
Don't use some website for generating a hash of your password, this is just risky. You typed your super secure password on an unecrypted connection (http) and gave it to a third party site that may or may not store it (along with your IP). This sounds paranoid, but if you are trying to protect this password, then you are making lots of mistakes along the way. That password is no longer able to be used in my opinion.
MD5 is not an acceptable hashing algorithm for passwords. It is too fast, and if I got a hash of your password, I'd probably be able to crack it in less than a day, and probably even sooner. That would be if you were using a salt, which you probably weren't. In that case, your password would be cracked in seconds with a rainbow table. You want something like bcrypt/scrypt/pbkdf2 since they have a configurable work factor that makes them slower.
Your app.config should be a fairly secure file, and some would be comfortable storing passwords/connection strings in plaintext here. It's good that you want to protect this, but the correct way to do this is to encrypt the config file (or just the specific fields). Encrypting => reversible : hashing => non-reversible.
There are lots of questions already on how to encrypt config files, and it is out of scope of the question to describe how.
Check here (as well as the linked duplicates): Encrypting Web.Config