Would someone recommend a good book on data encryption algorithms? I would like one that has the math theory as well as some code examples.
Anything by Bruce Schneier.
I'd recommend "Applied Cryptography" and "Practical Cryptography"
An excellent resource for this is Bruce Schneier's Applied Cryptography.
Handbook of Applied Cryptography (http://www.cacr.math.uwaterloo.ca/hac/) is available online for free. Personally, I also enjoyed Cryptography Theory and Practice by Doug Stinson.
Just an advice, just in case you are tempted to re-implement one of the algorithms on you own: don't! At least not for a real world product. Just use one of the standard libraries. You can do so much wrong. In case of security when you need to rely on the algorithm and the implementation you should use something that has proven for many years and checked by many (knowledgeable) eyeballs.
Though, it's fine to implement one just to get some feelings and experiences :-)
Others mention Bruce Schneier. Note however this blog by Schneier himself, on a comparison between "Applied Cryptography" and "Practical Cryptography". Schneier himself seems to be saying that "Applied Cryptography" is rather outdated now, and "Practical Cryptography" is the one to read.
He also comments on the danger of reading a book and then thinking you're good-to-go on design of secure systems.
Some alternatives are:
"Cryptography decrypted" by H. X. Mel, Doris M. Baker: This book is well written and easy to understand. It describes the concepts behind cryptography, but does not go too much into details.
"Modern cryptography" by W. Mao: This book explains the math behind cryptography exceptionally well.