Java Android Error "zu viele Daten für RSA-Block" [duplizieren]
Diese Frage hat hier bereits eine Antwort:
Zu viele Daten für den RSA-Block schlagen fehl. Was ist PKCS # 7? 7 answersA hat einen Fehler in meinem Android-Projekt (RSA-Verschlüsselung / -Entschlüsselung). Die Verschlüsselung ist in Ordnung, aber wenn ich versuche, verschlüsselten Text zu entschlüsseln, gibt es einen Fehler: "zu viele Daten für RSA-Block".
Wie kann man dieses Problem lösen?
Code
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;
}