Scusate questo verrà un post un pò lungo stavolta non so che cavolo sia successo... vi posto il codice sorgente e gli errori.

import java.security.*;
import javax.crypto.*;
import javax.crypto.spec.*;
import java.util.*;


/*Commentare la riga seguente se non si usa una Virtual Machine basata su SUN*/

import sun.misc.*;

/*Togliere i commenti nella riga seguente se non si usa una VM basata su SUN*/

/* import com.isnetworks.base64.* */


class stealth
{

private static void usage() {

System.err.println("Usage: stealth { -c [password] <testo_da_criptare> | -d [password] <testo_da_decriptare> }\n");

}
private static int ITER=1000;

/*Il main, dove c'è il controllo dell'input*/

public static void main(String args[]) throws Exception {
char[] pass= args[1].toCharArray();
String testo= args[2];
if("-c".equals(args[0])) {out = crypt(pass,testo); }
else if("-d".equals(args[0])) {out = decrypt(pass, testo);}
else{ usage(); }
System.out.println(out);
}

/*Il metodo seguente serve per la cifratura. Elabora la chiave e cripta il file.*/

public static String crypt(char[] pass, String specialtesto) {
System.out.println("Loading...\n");
byte[] bit = new byte[8]; /*Crea il salt per la password*/
Random rand = new Random(); /*Crea il meccanismo di scelta casuale del byte del salt*/
rand.nextBytes(bit); /*Sceglie un byte casuale*/
PBEKeySpec chiave = new PBEKeySpec(pass); /*Serve per costruire la chiave basata su password*/
SecretKeyFactory fatto = SecretKeyFactory.getInstance("PBEWithSHAAndBlowfis h-CBC"); /*Ottengo il generatore della chiave per la crittografia*/
SecretKey chi = fatto.generateSecret(chiave); /*Creo di fatto la chiave*/
PBEParameterSpec param = new PBEParameterSpec(bit, ITER); /*Creo il salt e le ripetizioni*/
Cipher cip = Cipher.getInstance("PBEWithSHAAndBlowfish-CBC");/*Creo il cifrario e lo preparo per il tipo di cifratura che voglio fare*/
cip.init(Cipher.ENCRYPT_MODE, chi, param); /*Inizializzo la cifratura*/
byte[] criptofile = cip.doFinal(specialtesto.getBytes()); /*Cripto di fatto*/
BASE64Encoder enco = new BASE64Encoder(); /*Creo il codificatore BASE 64*/
String salti = enco.encode(bit); /*Encodo i salt*/
String testocriptato = enco.encode(criptofile); /*Encodo il testo criptato*/
System.out.println("Finito!\n");
System.out.println("\nIl testo criptato è: "+salti+testocriptato+"");
return(salti+testocriptato);
}

/*Il metodo seguente serve per la decifratura. Elabora la password e decripta il file*/

public static String decrypt(char[] pass, String testo) {
String numsalt = testo.substring(0, 12); /*suddivide il file in testo e salt*/
String testocifr = testo.substring(12, testo.length());
/*Qui fa lo stesso procedimento descritto in encrypt(), tranne per il parametro DECRYPT_MODE (serve per decriptare)*/
BASE64Decoder deco = new BASE64Decoder();
byte[] ciao = deco.decodeBuffer(numsalt);
byte[] riciao = deco.decodeBuffer(testocifr);
PBEKeySpec kyo = new PBEKeySpec(pass);
SecretKeyFactory fcto = SecretKeyFactory.getInstance("PBEWithSHAAndBlowfis h-CBC");
SecretKey secrt = fcto.generateSecret(kyo);
PBEParameterSpec spec = new PBEParameterSpec(ciao, ITER);
Cipher cript = Cipher.getInstance("PBEWithSHAAndBlowfish-CBC");
cript.init(Cipher.DECRYPT_MODE, secrt, spec);
byte[] outtext = cript.doFinal(riciao);
System.out.println("Decifratura completata.\n\n");
System.out.println("Testo decifrato: "+outtext+"");
return new String(outtext);
}
}

**********************
E adesso gli errori:

root@localhost:~# javac Stealthing.java
Stealthing.java:46: unreported exception java.security.NoSuchAlgorithmException; must be caught or declared to be thrown
SecretKeyFactory fatto = SecretKeyFactory.getInstance("PBEWithSHAAndBlowfis h-CBC"); /*Ottengo il generatore della chiave per la crittografia*/
^
Stealthing.java:47: unreported exception java.security.spec.InvalidKeySpecException; must be caught or declared to be thrown
SecretKey chi = fatto.generateSecret(chiave); /*Creo di fatto la chiave*/
^
Stealthing.java:49: unreported exception java.security.NoSuchAlgorithmException; must be caught or declared to be thrown
Cipher cip = Cipher.getInstance("PBEWithSHAAndBlowfish-CBC");/*Creo il cifrario e lo preparo per il tipo di cifratura che voglio fare*/

Mi sono fermato, ma ce ne sono altri e sono tutti "unreported exception"... mi viene da piangere