-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcaesarsCipher.js
More file actions
37 lines (28 loc) · 801 Bytes
/
Copy pathcaesarsCipher.js
File metadata and controls
37 lines (28 loc) · 801 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
let sentence = encrypt("This is an encrypted message using Caesar's cipher.", 2);
console.log(sentence);
function encrypt(rawText, shiftNum) {
let letterList = rawText.split("");
for (let index = 0; index < letterList.length; index++) {
let letter = letterList[index];
let letterNum = letter.charCodeAt(0);
if (letterNum >= 65 && letterNum <= 90) {
letterNum += shiftNum;
if (letterNum > 90) {
letterNum -= 26;
}
}
if (letterNum >= 97 && letterNum <= 122) {
letterNum += shiftNum;
if (letterNum > 122) {
letterNum -= 26;
}
}
letter = String.fromCharCode(letterNum);
letterList[index] = letter;
}
let sentence = "";
letterList.forEach((letter) => {
sentence += letter;
});
return sentence;
}