我想用AES/CBC加密文件,密鑰必須是隨機的,並用RSA加密。 我得到了「算法RSA的關鍵不適用於對稱加密。」......似乎是什麼問題?Java:算法RSA的關鍵不適合對稱加密。
這是我的代碼部分:這裏
KeyGenerator keyGen = KeyGenerator.getInstance("AES", "BC");
keyGen.init(256);
Key key = keyGen.generateKey();
,您可以:
Security.addProvider(new BouncyCastleProvider());
byte[] input = "Encryption Test".getBytes();
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding", "BC"); // init Cipher to use AES/CBC
SecureRandom random = new SecureRandom(); // IV is random
KeyPairGenerator generator = KeyPairGenerator.getInstance("RSA", "BC"); // Key will be generated with RSA
generator.initialize(512, random);
KeyPair pair = generator.generateKeyPair();
Key pubKey = pair.getPublic();
//Key privKey = pair.getPrivate();
cipher.init(Cipher.ENCRYPT_MODE, pubKey, random);
如果越來越然後一個錯誤張貼堆棧跟蹤,否則你就是在浪費我們的時間。 –
密碼是aes密碼,但pubkey是rsa公鑰。 –
你是如何運行這段代碼的?你做什麼,給出了所謂的錯誤? –