Lesson 26: Riddle

posted May 18, 2018, 7:58 AM by Attila Lengyel
riddle = "hVObYomcioTcfoZSOfbWbUodfcUfOaaWbU"

abc =
"abcdefghijklmnopqrstuvwxyz !@#$%^&*()_+:?><ABCDEFGHIJKLMNOPQRSTUVWXYZ"

length = len(abc)
def position(c):
return abc.find(c)
def getkey(password):
key = 0
for c in password: key += position(c)
return key

def shift(c,x):
x = x % length
y = x + abc.find(c)
if y > length - 1: y = y % length
return abc[y]

def crypt(text, password, x):
key = getkey(password)
encryptedtext = ""
for c in text:
encryptedtext += shift(c, x * key)
return encryptedtext
text = input("Give me a text:")
password = input("Give me a password:")
secretmsg = crypt(text,password, 1)
print(secretmsg)
print(crypt(secretmsg, password, -1))

message = input("Give me encoded msg:")
for x in range(1, len(abc)):
msg = ""
for c in message:
msg += shift(c,x)
print(str(x) + ":" + msg)
input()
Comments