Ciao a tutti, ho un problema con questo programmino:
Lo vorrei utilizzare per crittografare e poi decrittografare la stringa msg, che contiene "This is a test". Purtroppo l'output che ottengo è il seguente:codice:class EncodeBetter { public static void main(String args[]) { int j = 0; String msg = "This is a test"; String encmsg = " "; String decmsg = " "; String key = "codifica"; System.out.print("Messaggio originale: "); System.out.println(msg); //codifica il messaggio for (int i = 0; i < msg.length(); i++) { encmsg += (char) (msg.charAt(i) ^ key.charAt(j)); j++; if (j == 8) j = 0; } System.out.print("Messaggio codificato: "); System.out.println(encmsg); //decodifica il messaggio j = 0; for (int i = 0; i < msg.length(); i++) { decmsg = decmsg + (char) (encmsg.charAt(i) ^ key.charAt(j)); j++; if (j == 8) j = 0; } System.out.print("Messaggio decodificato: "); System.out.println(decmsg); } }
Messaggio originale: This is a test
Messaggio codificato: %ROU
Messaggio decodificato: QP|le3|h>e4qs`
Come vedete non viene restituita la stringa corretta, qualcuno sa come correggere il codice?
Grazie in anticipo.

Rispondi quotando
