爲了使用Java實現加密,我使用的是JCE,它非常好玩。 我被告知選擇加密提供程序比使用默認加密提供程序更好。Java Crypto Api - 如何選擇密碼提供者
我需要爲對稱密鑰生成選擇提供者。使用此代碼(CBC模式下使用AES):
Key sharedKey = (KeyGenerator.getInstance("AES/CBC/PKCS5PADDING", PROVIDER1).generateKey();
和通過該代碼(ECB模式下使用RSA)使用非對稱文本加密:
Cipher rsaEncryptor = Cipher.getInstance("RSA/ECB/PKCS1Padding",PROVIDER2);
我的問題是我應該如何選擇PROVIDER1和PROVIDER2?
例如,我看到「SunJCE」是一個有據可查的供應商,但我認爲它不是一個「足夠好」的理由來選擇它。
有人嗎?
請注意,無論這些密鑰用於什麼,都需要'KeyGenerator'來生成AES密鑰。因此,不需要指定''CBC/PKCS5Padding'',只需'「AES」'就足夠了... –