Oppure

Loading
25/07/06 10:30
Antomix
Salve, qualcuno può aiutarmi???
quando decripto il messaggio mi da il seguente errore:

BadPaddingException : javax.crypto.BadPaddingException: Data must start with zero.

il codice è il seguente:

import java.net.*;
import java.io.*;
import javax.crypto.*;
import java.security.*;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
import com.sun.net.ssl.internal.ssl.Provider;
import com.sun.corba.se.spi.activation.ServerManager;
import java.util.logging.LogManager;


public class DecriptoMSG {

public String Decripto (PrivateKey key, String userInput)throws Exception {

String ediString = "";

try {
Cipher desCipher = Cipher.getInstance("RSA";);
System.out.println("222222= "+ desCipher.getBlockSize());
desCipher.init(Cipher.DECRYPT_MODE,key);

byte[] StringDec = (userInput).getBytes();
byte[] ediByte = desCipher.doFinal(StringDec);
ediString = new String(ediByte);

} catch (java.security.NoSuchAlgorithmException e) {
System.out.println("NoSuchAlgorithmException : " + e);
} catch (java.security.InvalidKeyException e) {
System.out.println("InvalidKeyException : " + e);
} catch (javax.crypto.IllegalBlockSizeException e) {
System.out.println("IllegalBlockSizeException : " + e);
} catch (javax.crypto.NoSuchPaddingException e) {
System.out.println("NoSuchPaddingException : " + e);
} catch (javax.crypto.BadPaddingException e) {
System.out.println("BadPaddingException : " + e);
}

return null;
}
}

Grazie 1000

aaa
26/07/06 12:53
netarrow
Cipher desCipher = Cipher.getInstance("RSA/EBC/PKCS1Padding";);

Prova usando quello al posto di solo "RSA", ovviamente cifrario di codifica e di decofica devono usare stesso algoritmo(RSA) con le stessa modalità(EBC) e lo stesso padding(PKCS1). Se non vuoi usare il padding metti RSA/EBC/NoPadding ma i dati inseriti devono essere multipli di 16.
aaa
27/07/06 7:57
Antomix
Ho risolto grazie...
aaa