Чтобы реализовать шифрование с использованием Java, я использую JCE, что приятно и интересно. Мне сказали, что лучше выбрать поставщика криптона, чем использовать по умолчанию.Java Crypto Api - как выбрать поставщика шифрования
Мне нужно выбрать поставщиков как для генерации симметричных ключей. используемый этот код (с помощью AES в режиме CBC):
Key sharedKey = (KeyGenerator.getInstance("AES/CBC/PKCS5PADDING", PROVIDER1).generateKey();
И для асимметричного текста шифрования, используемого этого код (с использованием RSA в режиме ECB):
Cipher rsaEncryptor = Cipher.getInstance("RSA/ECB/PKCS1Padding",PROVIDER2);
Мой вопрос, как я должен выберите PROVIDER1 и PROVIDER2?
например, я увидел, что «SunJCE» является хорошо документированным провайдером, но я не думаю, что это «достаточно хорошая причина», чтобы выбрать его.
Кто-нибудь?
Обратите внимание, что для генерации ключей AES требуется ключ KeyGenerator, независимо от того, для чего используются эти ключи. Поэтому указание «CBC/PKCS5Padding» 'не требуется, просто« AES »' должно быть достаточно ... –