【发布时间】:2014-01-02 02:06:10
【问题描述】:
为了使用Java实现加密,我使用的是JCE,很好玩。 有人告诉我,最好选择加密提供者而不是使用默认提供者。
我需要为对称密钥生成选择两个提供商。此代码使用(在 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"就足够了......
标签: java encryption encryption-asymmetric jce