A Java language version of the BCrypt algorithm