@ShellMethod(key = "jasypt-list-providers", value = "List encryption providers with PBE Ciphers you can use with Jasypt")
    public void listProviders(@ShellOption(value = {"includeBC", "--includeBC"},
        help = "Include Bouncy Castle provider", defaultValue = "false") final Boolean includeBC) {
        if (includeBC) {
            Security.addProvider(new BouncyCastleProvider());
        } else {
            Security.removeProvider(BouncyCastleProvider.PROVIDER_NAME);
        }

        val providers = Security.getProviders();
        for (val provider : providers) {
            val services = provider.getServices();
            val algorithms = services.stream()
                .filter(service -> "Cipher".equals(service.getType()) && service.getAlgorithm().contains("PBE"))
                .map(Provider.Service::getAlgorithm).toList();
            if (!algorithms.isEmpty()) {
                LOGGER.info("Provider: Name: [{}] Class: [{}]", provider.getName(), provider.getClass().getName());
                for (val algorithm : algorithms) {
                    LOGGER.info(" - Algorithm: [{}]", algorithm);
                }
            }
        }
    }
List providers you can use Jasypt.

@param includeBC whether to include the BouncyCastle provider
support/cas-server-support-shell-core/src/main/java/org/apereo/cas/shell/commands/jasypt/JasyptListProvidersCommand.java