This is a source code described in our blog post Road to a more functional Java with Javaslang - example refactoring showing how Javaslang library could be used to make even a small logic more readable and written in a more functional way.
This is also a place to send your Pull Request to win a GeeCON ticket as described in Show your Java refactoring and win a ticket to the GeeCON conference.
Tests requires Java Cryptography Extension (JCE) Unlimited Strength installed.