- #1
philippe311
- 17
- 0
Hello,
My professor wants us to code a program that encrypts a massage and decrypt it , I know that to encrypt something you need a message and a key, and you assign a number to each letter or the message, and you do the same with the key, and then you add the two numbers together to get the message encrypted
for example if the message was
abcabc
and the key was
bcd
and
a = 0
b = 1
c = 2
d = 3
we do this to encrypt it
abcabc
bcdbcd
--------
235235
and 235235 is bdfbdf according to the assigned values of a, b, c, and d
so the final encrypted message is bdfbdf
--------------
this is what i wrote, but it only encrypts one letter of the message, and it uses one letter of the key, i need an idea of how to make it work for more than one letter
import java.util.Scanner;
public class assign3
{
public static String[] array ={"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"};
public static void main(String [] args)
{
Scanner input = new Scanner (System.in);
System.out.println("insert messege =");
String message = input.next();
int i = 0;
int num = 0;
char ch;
while(i < message.length()){
ch = message.charAt (i);
num = ch - 'a';
System.out.println(num);
i = i +1;
}
System.out.println("insert key =");
String key = input.next();
char ch2;
ch2 = key.charAt (0);
int num2 = ch2 - 'a';
System.out.println(num2);
int q;
q = num + num2;
System.out.println("encrypted number = " + q);
if (q>=26)
{
q = q%26;
}
System.out.println("Encrypted letter = " + array[q]);
}
}
My professor wants us to code a program that encrypts a massage and decrypt it , I know that to encrypt something you need a message and a key, and you assign a number to each letter or the message, and you do the same with the key, and then you add the two numbers together to get the message encrypted
for example if the message was
abcabc
and the key was
bcd
and
a = 0
b = 1
c = 2
d = 3
we do this to encrypt it
abcabc
bcdbcd
--------
235235
and 235235 is bdfbdf according to the assigned values of a, b, c, and d
so the final encrypted message is bdfbdf
--------------
this is what i wrote, but it only encrypts one letter of the message, and it uses one letter of the key, i need an idea of how to make it work for more than one letter
import java.util.Scanner;
public class assign3
{
public static String[] array ={"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"};
public static void main(String [] args)
{
Scanner input = new Scanner (System.in);
System.out.println("insert messege =");
String message = input.next();
int i = 0;
int num = 0;
char ch;
while(i < message.length()){
ch = message.charAt (i);
num = ch - 'a';
System.out.println(num);
i = i +1;
}
System.out.println("insert key =");
String key = input.next();
char ch2;
ch2 = key.charAt (0);
int num2 = ch2 - 'a';
System.out.println(num2);
int q;
q = num + num2;
System.out.println("encrypted number = " + q);
if (q>=26)
{
q = q%26;
}
System.out.println("Encrypted letter = " + array[q]);
}
}