Mi sto esercitando con RSA e JAVA. Con questo codice volevo cifrare la frase "Frase da cifrare!" e poi decifrarla ma mi risulta tutta un'altra cosa. Cosa sbaglio?
codice:import java.security.*; import javax.crypto.*; import java.security.spec.*; public class Mio{ public static void main(String[] args) throws Exception{ KeyPairGenerator kpg=null; kpg = KeyPairGenerator.getInstance("RSA"); kpg.initialize(1024); KeyPair kp = kpg.generateKeyPair(); PublicKey pubblica=kp.getPublic(); PrivateKey privata=kp.getPrivate(); String s=new String("Frase da cifrare!"); byte[] b=s.getBytes(); //CODIFICA Cipher c=null; byte[] encodeFile=null; c = Cipher.getInstance("RSA/ECB/PKCS1Padding"); c.init(Cipher.ENCRYPT_MODE, pubblica); encodeFile = c.doFinal(b); //DECODIFICA Cipher cc=null; byte[] plainFile=null; cc = Cipher.getInstance("RSA/ECB/PKCS1Padding"); cc.init(Cipher.DECRYPT_MODE, privata); plainFile = cc.doFinal(encodeFile); String dec=plainFile.toString(); System.out.println("Frase decodificata: "+dec); } }

Rispondi quotando