public Builder setAlgorithmName(String algorithmName) {
            this.algorithmName = algorithmName;
            return this;
        }
Sets the name of the hash algorithm the {@code HashService} should use when computing the {@link Hash}.
Not calling this method or setting it to {@code null} indicates the the default algorithm configuration of
the {@code HashService} should be used.  A non-null value
overrides the {@code HashService}'s configuration for a single request.
<p/>
Note that a {@code HashService} is free to ignore this value if it determines that the algorithm is not
sufficient to meet a desired level of security. You can always check the result
{@code Hash} {@link Hash#getAlgorithmName() getAlgorithmName()} method to see what the actual
algorithm was, which may or may not match this request salt.

@param algorithmName the name of the hash algorithm the {@code HashService} should use when computing the
                     {@link Hash}, or {@code null} if the default algorithm configuration of the
                     {@code HashService} should be used.
@return this {@code Builder} instance for method chaining.
@see HashRequest#getAlgorithmName()
crypto/hash/src/main/java/org/apache/shiro/crypto/hash/HashRequest.java