-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCaesars Cipher.js
25 lines (20 loc) · 905 Bytes
/
Caesars Cipher.js
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
/*One of the simplest and most widely known ciphers is a Caesar cipher, also known as a shift cipher. In a shift cipher the meanings of the letters are shifted by some set amount.
A common modern use is the ROT13 cipher, where the values of the letters are shifted by 13 places. Thus A ↔ N, B ↔ O and so on.
Write a function which takes a ROT13 encoded string as input and returns a decoded string.
All letters will be uppercase. Do not transform any non-alphabetic character (i.e. spaces, punctuation), but do pass them on.*/
function rot13(str) {
var decoded = "";
for(let i=0;i<str.length;i++){
var c = str.charCodeAt(i)
if(c >= 65 && c <= 77){
decoded += String.fromCharCode(c + 13);
}
else if(c > 77 && c<=90){
decoded += String.fromCharCode(c - 13);
}
else{
decoded += String.fromCharCode(c)
}
}
return decoded;
}