Out of curiosity, what is "the best cryptography algorithm" for you as a programmer, given both security and ease of implementation?
The best for simple cyptography is an XOR against a key. It's quick, simple to implement and uses the same process for both encrypting and decrypting.
Edit: Before my rep gets savaged over this quick response, I should clarify that it's not highly secure. But, it provides good, garden-variety encryption for situations that don't require high security.
Rijndael / AES (for its security, standardization and pervasiveness)
What does "ease of implementation" mean? You don't think about implementing a crypto algorithm yourself, do you?!
Symmetric or Asymmetric?
And implementing an algorithm yourself is a poor choice - use a scrutinized, vetted library.
RSA is good, but slow in key generation. For a simpler, but just as good (in my opinion) encryption scheme I use AES.
What are you doing with it? there is no "best" encryption algorithm: they all have benefits and detriments.
AES is fast, and symmetric. Blowfish is pretty fast, and also symmetric.
You should read resources like Applied Cryptography for more information.
The best cryptography algorithm is the one that's strong enough to meet the requirements, and no stronger.
This changes on a per-project basis, so there's no single answer.
like everyone else said, Best is a sliding metric.
If your trying to learn to code one, start with the easy classics, and learn your way up.
My personal favorite is still Blowfish. I like how it works, I have used it a lot in applications, it's easy to use in the libCrypto library from OpenSSL and people consider it to be very secure. Further it can have keys up to 448 bits long. Twofish is basically a variation of Blowfish, created for the AES contest (which Rijndael finally won), but I like Blowfish more than Twofish. It's also not much slower than other algorithm, actually it's one of the faster ones.
Those two requirements: security and ease of implementation tend to be at opposite ends of the spectrum. Something like AES is very secure, but not too easy to implement. Rot-13 on the other hand is extremely easy to implement, but slightly less secure :-)
If you're using the .Net framework, the RSA encryption libraries are built in - including the RSA implementation of AES.