Agreed. But we're not talking about passwords here.
$encode and $decode have legitimate purposes. Never the less, $md5 also requires you to pass the string in a %variable if it contains meta-characters.
pheonix wanted to know why uuencoded $=&5S=``` wouldn't $decode back to 'test', and that is because it began with $.