-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathCaesar-cipher.py
executable file
·39 lines (34 loc) · 1.04 KB
/
Caesar-cipher.py
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
38
39
# caesar cipher
def caesar_encrypt(text):
result = ""
k = 3
for i in range(len(text)):
char = text[i]
if char.isupper():
result += chr((ord(char) + k - 65) % 26 + 65)
elif char.islower():
result += chr((ord(char) + k - 97) % 26 + 97)
elif char.isdigit():
result += chr((ord(char) + k - 48) % 10 + 48)
else:
result += chr((ord(char) + k - 32) % 16 + 32)
return result
def caesar_decrypt(text):
result = ""
k = 3
for i in range(len(text)):
char = text[i]
if char.isupper():
result += chr((ord(char) - k - 65) % 26 + 65)
elif char.islower():
result += chr((ord(char) - k - 97) % 26 + 97)
elif char.isdigit():
result += chr((ord(char) - k - 48) % 10 + 48)
else:
result += chr((ord(char) - k - 32) % 16 + 32)
return result
pt = 'It is simple transposition cipher'
a = caesar_encrypt(pt)
b = caesar_decrypt(a)
print a, ":Ciphertext"
print b, ":plaintext"