@Override
        public SimpleHash generate(HashRequest hashRequest) {
            String algorithmName = hashRequest.getAlgorithmName().orElse(Parameters.DEFAULT_ALGORITHM);
            ByteSource source = hashRequest.getSource();
            final int iterations = getIterations(hashRequest);

            final ByteSource publicSalt = getPublicSalt(hashRequest);
            final /*nullable*/ ByteSource secretSalt = getSecretSalt(hashRequest);
            final ByteSource salt = combine(secretSalt, publicSalt);

            return createSimpleHash(algorithmName, source, iterations, publicSalt, salt);
        }
Creates a hash provider for salt (+pepper) and Hash-based KDFs, i.e. where the algorithm name
is a SHA algorithm or similar.

@since 2.0
crypto/hash/src/main/java/org/apache/shiro/crypto/hash/SimpleHashProvider.java