Encryption is a process that many programmers have heard about, but only a select few have implemented in code. Data privacy, obscurity, and security are quickly demanding that more developers become fluent and proficient in this ever-more-mainstream realm of computer science and mathematics. This article will introduce the newcomer to the vocabulary of cryptography, including hashing, symmetric key ciphers, and asymmetric key ciphers. With the vocabulary conquered, we’ll proceed to study several fundamental applications of cryptography with the JVM-included Java Cryptography Extensions (JCE) classes.
Matthew McCullough is an energetic 15 year veteran of enterprise software development, open source education, and co-founder of Ambient Ideas, LLC, a Denver consultancy. Matthew currently is VP of Training at GitHub.com, author of the Git Master Class series for O'Reilly, speaker at over 30 national and international conferences, author of three of the top 10 DZone RefCards, and President of the Denver Open Source Users Group. His current topics of research center around project automation: build tools (Gradle), distributed version control (Git, GitHub), Continuous Integration (Jenkins, Travis) and Quality Metrics (Sonar). Matthew resides in Denver, Colorado with his beautiful wife and two young daughters, who are active in nearly every outdoor activity Colorado has to offer.