So far I've come across [Botan](http://botan.randombit.net/) and [Crypto++](http://www.cryptopp.com/) which both provide reversible (e.g AES) and non-reversible (e.g SHA) encryption. I wondered if anyone can recommend either, or something else?