@Override
        public Val eval(final StoredValues storedValues, final Supplier<ChildData> childDataSupplier) {
            final Val val = childGenerator.eval(storedValues, childDataSupplier);
            if (!val.type().isValue()) {
                return ValErr.wrap(val, "Unable to convert argument to string");
            }

            try {
                return ValString.create(hash(val.toString(), messageDigest, salt));
            } catch (final RuntimeException e) {
                return ValErr.create(e.getMessage());
            }
        }
For cases where the algorithm and salt are both static
stroom-query/stroom-query-language/src/main/java/stroom/query/language/functions/Hash.java