Ciao a tutti,
ho cryptato un file zippato tramita la classe javax.crypto. Dopo averlo decryptato provo a fare l'unzip tramite la classe Inflater, ma restituisce questo errore:
"javax.servlet.ServletException: need dictionary"
La classe che ho creato per unzippare dati non cryptati funziona e funziona anche la classe che decrypta, non so perchè però se crypto il messaggio zippato non riesco più a dezipparlo dopo averlo decryptato.
Per settare il dictionary uso la classe consigliata getAdler e poi faccio setDictionary ma non funziona..![]()
Vi posto un pezzo di codice
Ho cercato documentazione in giro ma non ho trovato granchè
ByteArrayOutputStream bs = new ByteArrayOutputStream();
Inflater decomp = new Inflater();
byte[] buffer = new byte[1024];
try {
decomp .setInput(binMsg);
while (!decomp .finished()) {
if(decomp .needsDictionary()){
int adler = decomp .getAdler();
decomp .setDictionary(buffer,0,adler);
}
int count = decomp .inflate(buffer);
bs .write(buffer, 0, count);
}
} catch (Exception e) {
System.out.println("Exception:" + e.toString());
}
Grazie.
![]()

Rispondi quotando
