加密算法中使用的密钥长度较短,会降低系统安全。
对于密钥长度应足够长的情况,示例给出了不规范用法(Java 语言)示例。
- 示例:
-
- KeyPairGeneratorkeyPairGen = KeyPairGenerator.getInstance("RSA");
-
- keyPairGen.initialize(1024);
-
- KeyPairkeyPair = keyPairGen.generateKeyPair();
-
- PublicKeypublicKey =(RSAPublicKey)keyPair.getPublic();
-
- PrivateKeyprivateKey =(RSAPrivateKey) keyPair.getPrivate();
-
- byte[] publicKeyData = publicKey.getEncoded();
-
- byte[] privateKeyData = privateKey.getEncoded();
以上代码片段中,KeyPairGenerator 使 用RSA 加密算法,长度为1024位。
对于对称加密算法,建议使用长度大于或等于128位的密钥。对于非对称加密算法(如 RSA), 建 议使用长度大于或等于2048位的密钥。