Il printStackTrace() mi stampa la seguente eccezione:
codice:
javax.crypto.BadPaddingException: Given final block not properly padded
at com.sun.crypto.provider.SunJCE_h.b(DashoA12275)
at com.sun.crypto.provider.SunJCE_h.b(DashoA12275)
at com.sun.crypto.provider.SunJCE_af.b(DashoA12275)
at com.sun.crypto.provider.PBEWithMD5AndDESCipher.engineDoFinal(DashoA12275)
at javax.crypto.Cipher.doFinal(DashoA12275)
Cosa significa?
Anche se so che non è il metodo più sicuro, è possibile definire una chiave, quindi un'oggetto Key o KeyGenerator come una costante?
Sulla documentazione ho trovato questo metodo che serve ad inizializzare l'oggetto in questione:
codice:
init
public final void init(SecureRandom random)
Initializes this key generator.
Parameters:
random - the source of randomness for this generator
Ma nn riesco a capire bene come scrivere il codice, perchè così nn va bene:
codice:
private static final KeyGenerator KEY = KeyGenerator.init(new SecureRandom().getInstance("SHA1PRNG"));
Avete qualche idea?