· 7 years ago · Sep 12, 2018, 02:54 PM
1/*
2 * Write a program that asks the user for an encrypted message
3 * and Caesar cipher key, and decrypts the message.
4 *
5 * Use the function caesarEncrypt! What key value do you need to
6 * pass this function to decrypt your message?
7 *
8 */
9
10
11var ALPHABET = "abcdefghijklmnopqrstuvwxyz";
12
13function start(){
14 var originalMessage = readLine("Enter the message you would like to encrypt: ");
15 originalMessage = originalMessage.toLowerCase();
16
17 var secretKey = readInt("Enter the number you'd like to shift each character by: ");
18
19 var encryptedMessage = caesarEncrypt(originalMessage, secretKey);
20 println("");
21 println("Encrypted message: " + encryptedMessage);
22
23 println("");
24 println("Decrypting message...");
25 println("");
26
27 // You will need to write caesarDecrypt below
28 var decrypted = caesarDecrypt(encryptedMessage, secretKey);
29 println("Done:");
30
31 println(decrypted);
32}
33
34
35function caesarDecrypt(encryptedMessage, key){
36 var decryptedResult = "";
37 for(var i = 0; i < encryptedMessage.length; i++){
38 var originalCharacter = encryptedMessage.charAt(i);
39 var alphabeticIndex = ALPHABET.indexOf(originalCharacter);
40 if(alphabeticIndex >=0) {
41 var newIndex = alphabeticIndex - key + ALPHABET.length;
42 newIndex = newIndex % ALPHABET.length;
43 var newCharacter = ALPHABET.charAt(newIndex);
44 decryptedResult +=newCharacter
45
46 }
47 else{
48 decryptedResult +=originalCharacter;
49 }
50 return decryptedResult;
51
52}}
53
54function caesarEncrypt(message, key){
55 var encryptedResult = "";
56
57 for(var i = 0; i < message.length; i++){
58 // Get the character in the original message
59 var originalCharacter = message.charAt(i);
60 var alphabeticIndex = ALPHABET.indexOf(originalCharacter);
61 if(alphabeticIndex >= 0){
62 var newIndex = alphabeticIndex + key + ALPHABET.length;
63 newIndex = newIndex % ALPHABET.length;
64 var newCharacter = ALPHABET.charAt(newIndex);
65 encryptedResult += newCharacter
66 }
67
68 else{
69 encryptedResult += originalCharacter;
70 }
71 }
72
73 return encryptedResult;
74}