Java Android Error “muitos dados para o bloco RSA” [duplicado]
Esta pergunta já tem uma resposta aqui:
Muitos dados para o bloco RSA falham. O que é o PKCS # 7? 7 respostasUm erro no meu projeto Android (criptografia / descriptografia RSA). A criptografia passa bem, mas quando estou tentando descriptografar o texto criptografado, ocorre um erro: "muitos dados para o bloco RSA".
Como resolver este problema
código
public String Decrypt(String text) throws Exception
{
try{
Log.i("Crypto.java:Decrypt", text);
RSAPrivateKey privateKey = (RSAPrivateKey)kp.getPrivate();
Cipher cipher = Cipher.getInstance("RSA/ECB/NoPadding");
cipher.init(Cipher.DECRYPT_MODE, privateKey);
byte[] cipherData = cipher.doFinal(text.getBytes());// <----ERROR: too much data for RSA block
byte[] decryptedBytes = cipher.doFinal(cipherData);
String decrypted = new String(decryptedBytes);
Log.i("Decrypted", decrypted);
return decrypted;
}catch(Exception e){
System.out.println(e.getMessage());
}
return null;
}