应用软件安全编程--21密钥长度应该足够长
加密算法中使用的密钥长度较短,会降低系统安全。
对于密钥长度应足够长的情况,示例给出了不规范用法(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位的密钥。