code: public static String hash(String password) {
  
          String result = null;
  
          if (password != null) {
  
              // Generate a random salt:
              String salt = Generate.salt();
  
              // Hash the password:
              byte[] hash = hash(password, salt);
  
              // Concatenate the salt and hash:
              byte[] concatenated = ArrayUtils.addAll(ByteArray.fromBase64(salt), hash);
  
              // Base-64 encode the result:
              result = ByteArray.toBase64(concatenated);
          }
  
          return result;
      }
docs: Produces a good hash of the given password, using {@value #ALGORITHM}, an
  iteration count of {@value #ITERATION_COUNT} and a random salt value of
  {@value Generate#SALT_BYTES} bytes. The returned value is a concatenation of the
  salt value and the password hash and this should be passed as returned to
  {@link #verify(String, String)} along with the plaintext password.
  
  @param password The password to be hashed.
  @return The password hash as a base-64 encoded String. If the given
  password is null, null is returned.