我的问题:
我的加密代码在64个字符以下正常工作。但如果超过64个字符,我会收到以下错误:
javax.crypto.IllegalBlockSizeException: input must be under 64 bytes
加密代码
cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding);
cipher.init(Cipher.ENCRYPT_MODE, publicKey);
encryptedBytes = cipher.doFinal(message.getBytes(StandardCharsets.UTF_8));
rsaEncrypted= Base64.encodeToString(encryptedBytes, Base64.NO_WRAP);
密钥生成代码
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
keyGen.initialize(512);
KeyPair keypair = keyGen.genKeyPair();
PublicKey pub = keypair.getPublic();
byte[] pubs = pub.getEncoded();
我的问题:
使用512位密钥加密大文本是否可行?我的代码有任何错误吗?
注意:如果有人需要完整的代码,我将稍后更新。