Just to clarify for anyone who ever views this thread. This is NOT encrypting. This is hashing.

Here's the difference:
- Hashing algorithms are one way functions that are designed to be irreversible. Hashes act as signatures/verification methods. MD5, due to security flaws, is now more suited as a checksum function rather than securely storing data for verification.
- Encrypting is the act of applying some reversible algorithm to data. An encryption is used to store/transmit data securely. It is different than a hash because it is designed to be reversed back to plaintext using a key and, if necessary, an initialization vector (I.V.).

My point: Don't use this for storing data if you want to see that data again. Don't use this for storing/generating passwords because it's not secure. Don't use this for authentication.