Returns the public salt that should be used to compute a hash based on the specified request or
{@code null} if no public salt should be used.
<p/>
This implementation functions as follows:
<ol>
<li>If the request salt is not null and non-empty, this will be used, return it.</li>
<li>If the request salt is null or empty:
<ol>
<li>If a private salt has been set <em>OR</em> {@link #isGeneratePublicSalt()} is {@code true},
auto generate a random public salt via the configured
{@link #getRandomNumberGenerator() randomNumberGenerator}.</li>
<li>If a private salt has not been configured and {@link #isGeneratePublicSalt()} is {@code false},
do nothing - return {@code null} to indicate a salt should not be used during hash computation.</li>
</ol>
</li>
</ol>
@param request request the request to process
@return the public salt that should be used to compute a hash based on the specified request or
{@code null} if no public salt should be used.
Returns the public salt that should be used to compute a hash based on the specified request or {@code null} if no public salt should be used. <p/> This implementation functions as follows: <ol> <li>If the request salt is not null and non-empty, this will be used, return it.</li> <li>If the request salt is null or empty: <ol> <li>If a private salt has been set <em>OR</em> {@link #isGeneratePublicSalt()} is {@code true}, auto generate a random public salt via the configured {@link #getRandomNumberGenerator() randomNumberGenerator}.</li> <li>If a private salt has not been configured and {@link #isGeneratePublicSalt()} is {@code false}, do nothing - return {@code null} to indicate a salt should not be used during hash computation.</li> </ol> </li> </ol>
@param request request the request to process @return the public salt that should be used to compute a hash based on the specified request or {@code null} if no public salt should be used.