我在服务器上使用phpseclib加密数据
$rsa->loadKey($encryptkey);
$rsa->setEncryptionMode(CRYPT_RSA_ENCRYPTION_PKCS1);
$ciphertext = $rsa->encrypt($str);
并在我的Java应用程序中接收它。数据为384字节(3*128)。
在Java中,我试图解密它(它们的密钥已经被正确分发),但我得到了这个异常:
javax.crypto.IllegalBlockSizeException: Data must not be longer than 128 bytes
下
我正在使用java进行AES加密和解密。我使用Appache commons库在字符串和字节之间进行相互转换。但是当我解密数据时,它与使用相同密钥加密的输入数据是不同的吗?为什么会这样?
下面是我的代码:
public static void main(String[] args) throws Exception {
String key="this is key";
String message="This is just an example";
KeyGenerator kgen = Key