public Builder setSalt(ByteSource salt) {
            this.salt = salt;
            return this;
        }
Sets a salt to be used by the {@link HashService} during hash computation.
<p/>
<b>NOTE</b>: not calling this method does not necessarily mean a salt won't be used at all - it just
means that the request didn't include a salt.  The servicing {@link HashService} is free to provide a salting
strategy for a request, even if the request did not specify one.  You can always check the result
{@code Hash} {@link Hash#getSalt() getSalt()} method to see what the actual
salt was (if any), which may or may not match this request salt.

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