Credits go to Carl Harris (soulwing) who created crpyt4j http://www.solewing.org/blog/2014/02/unix-compatible-password-encryption-for-java/ and released it under Apache Software License 2.0. This software was converted to Groovy code, with HMAC methods added. Credits to Apache Commons UnixCrypt https://github.com/apache/commons-codec/blob/master/src/main/java/org/apache/commons/codec/digest/UnixCrypt.java Daniel Dyer (https://maths.uncommons.org/) for the Java port of Mersenne Twister Random Flake IDs, used for UUID generation, are based on http://boundary.com/blog/2012/01/12/flake-a-decentralized-k-ordered-unique-id-generator-in-erlang