for encryption and hash, i suggest using gpg at http://www.gnupg.org/ ; it is famous in linux; it supports OpenPGP standards and built-in with many formats (encryption and hash; the latest versions also support SHA512 - MD5 and SHA1 can be broken; of course they are still considered ‘safe’ to layman since it needs skills to break them);
you can get windows GUI from sf.net (that is, if you really need it);
gpg can be used with other communication tools; with thunderbird, via enigmail plugin, you can even sign your emails using gpg; (outlook express will need oe plugin, find that in sf.net)