From c71236d3ca0c58b63812e5d2bbfd3fe49db09429 Mon Sep 17 00:00:00 2001 From: Reza Ebrahimpour Date: Tue, 15 Sep 2020 11:12:24 +0430 Subject: [PATCH] BAEL-4488 Create AvailableCiphers --- .../com/baeldung/cipher/AvailableCiphers.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 core-java-modules/core-java-security-2/src/main/java/com/baeldung/cipher/AvailableCiphers.java diff --git a/core-java-modules/core-java-security-2/src/main/java/com/baeldung/cipher/AvailableCiphers.java b/core-java-modules/core-java-security-2/src/main/java/com/baeldung/cipher/AvailableCiphers.java new file mode 100644 index 0000000000..f73433ffd2 --- /dev/null +++ b/core-java-modules/core-java-security-2/src/main/java/com/baeldung/cipher/AvailableCiphers.java @@ -0,0 +1,32 @@ +package com.baeldung.cipher; + +import java.security.Provider; +import java.security.Security; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +public class AvailableCiphers { + public static void main(String[] args) { + printAllCiphers(); + printCompatibleCiphers(); + } + + private static void printAllCiphers() { + for (Provider provider : Security.getProviders()) { + for (Provider.Service service : provider.getServices()) { + System.out.println(service.getAlgorithm()); + } + } + } + + private static void printCompatibleCiphers() { + List algorithms = Arrays.stream(Security.getProviders()) + .flatMap(provider -> provider.getServices().stream()) + .filter(service -> "Cipher".equals(service.getType())) + .map(Provider.Service::getAlgorithm) + .collect(Collectors.toList()); + + algorithms.forEach(System.out::println); + } +}