The JCA is more a state of mind than a concrete set of classes. Most importantly, it separates cryptographic concepts from their implementations. The concepts are represented by the classes in the and javax.crypto packages, while implementations are supplied by cryptographic providers. Using cryptography in a Java program is wonderfully simple. Because the API exposes concepts, rather than implementation details, it’s easy to change the algorithms or providers that your program uses. Under the hood, there’s a more complicated picture, but you won’t have to worry about this unless you want to do something tricky, like develop your own provider.

Get Java Cryptography now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.