Bump dependencies.
Remove the window argument from the method signature and move configuration to a separate class.
Add dependency with Google Guava.
Use Guava preconditions.
Add configuration parameter to verify codes of the specified length.
Add configuration parameter to accept keys using either the Base32 or the Base64 representation.