@SuppressWarnings("unchecked")
    private static ServiceLoader<HashSpi> load() {
        return ServiceLoader.load(HashSpi.class);
    }
Find a KDF implementation by searching the algorithms.

@param algorithmName the algorithmName to match. This is case-sensitive.
@return an instance of {@link HashProvider} if found, otherwise {@link Optional#empty()}.
@throws NullPointerException if the given parameter algorithmName is {@code null}.
crypto/hash/src/main/java/org/apache/shiro/crypto/hash/HashProvider.java