2014-04-20 19:32:08 +02:00
|
|
|
from string import ascii_lowercase
|
|
|
|
|
import sys
|
|
|
|
|
|
|
|
|
|
if sys.version_info[0] == 2:
|
|
|
|
|
from string import maketrans
|
|
|
|
|
else:
|
|
|
|
|
maketrans = str.maketrans
|
|
|
|
|
|
2014-03-27 10:42:07 -03:00
|
|
|
|
|
|
|
|
BLKSZ = 5
|
2014-04-20 19:32:08 +02:00
|
|
|
trtbl = maketrans(ascii_lowercase, ascii_lowercase[::-1])
|
|
|
|
|
|
2014-03-27 10:42:07 -03:00
|
|
|
|
|
|
|
|
def base_trans(text):
|
2014-04-20 19:32:08 +02:00
|
|
|
return ''.join([c for c in text if c.isalnum()]).lower().translate(trtbl)
|
|
|
|
|
|
2014-03-27 10:42:07 -03:00
|
|
|
|
|
|
|
|
def encode(plain):
|
|
|
|
|
cipher = base_trans(plain)
|
2014-04-20 19:32:08 +02:00
|
|
|
return " ".join([cipher[i:i + BLKSZ]
|
|
|
|
|
for i in range(0, len(cipher), BLKSZ)])
|
|
|
|
|
|
2014-03-27 10:42:07 -03:00
|
|
|
|
|
|
|
|
def decode(ciphered):
|
2014-04-20 19:32:08 +02:00
|
|
|
return base_trans(ciphered)
|