Home News FAQs Site info Links Contact Us Search Download Notes Download Project

Who's Online

Select Language

Italian
Home
Come usare RSA con Java PDF Stampa E-mail
Scritto da Enrico Chiacchiari   
marted́ 11 marzo 2008
Questa FAQ spiega come utilizzare RSA con JAVA...
/**
* Cifratura asimmetrica
* con RSA.
*
* @author Enrico Chiacchiari
*
*/
public static void main(String[] args){


/**
* Stringa che sarà cifrata
*/
String msg = "Devil (diffidate dalle imitazioni)";


/**
* generazione della coppia di chiavi pubblica e privata
*/
KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
kpg.initialize(1024);
KeyPair kp = kpg.generateKeyPair();
PublicKey RSAPublicKey = kp.getPublic();
PrivateKey RSAPrivateKey = kp.getPrivate();

System.out.println(RSAPublicKey);
/**
* Cifratore, prende come parametro la
* public key
*/
Cipher RSACipher = Cipher.getInstance("RSA");
RSACipher.init(Cipher.ENCRYPT_MODE, RSAPublicKey);

/**
* Cifro col metodo 'doFinal'
* avrei potuto utilizzare anche il metodo 'update'.
*/
byte[] byte_msg_cifrato = RSACipher.doFinal(msg.getBytes());
	/**
* Decifratore, prende come parametro la
* private Key
*/
RSACipher.init(Cipher.DECRYPT_MODE, RSAPrivateKey);

/**
* Decifratura
*/
byte[] byte_msg_decifrato =
		RSACipher.doFinal(byte_msg_cifrato);

String msg_decifrato = new String(byte_msg_decifrato);



/**
* Semplice controllo, se il messaggio 'msg' (quello iniziale!)
* è uguale al msg cifrato e successivamente decifrato.......RSA ha funzionato!
*/
if (msg_decifrato.equals(msg) == true)
System.out.println("I messaggi sono uguali!");
else
System.out.println("I messaggi non sono uguali!");
}
}
Ultimo aggiornamento ( marted́ 11 marzo 2008 )
 
< Prec.   Pros. >
mod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_counter
mod_vvisit_counterToday11
mod_vvisit_counterYesterday20
mod_vvisit_counterThis week31
mod_vvisit_counterThis month110
mod_vvisit_counterAll7468