public Builder addParameter(String parameterName, Object parameterValue) {
            this.parameters.put(parameterName, requireNonNull(parameterValue));
            return this;
        }
Sets a salt to be used by the {@link HashService} during hash computation.
<p/>
This is a convenience alternative to {@link #setSalt(ByteSource)}: it will attempt to convert the
argument into a {@link ByteSource} instance using Shiro's default conversion heuristics
(as defined by {@link ByteSource.Util#isCompatible(Object) ByteSource.Util.isCompatible}.  If the object
cannot be heuristically converted to a {@code ByteSource}, an {@code IllegalArgumentException} will be
thrown.

@param salt a salt to be used by the {@link HashService} during hash computation.
@return this {@code Builder} instance for method chaining.
@throws IllegalArgumentException if the argument cannot be heuristically converted to a {@link ByteSource}
                                 instance.
@see #setSalt(ByteSource)
@see HashRequest#getSalt()
crypto/hash/src/main/java/org/apache/shiro/crypto/hash/HashRequest.java