解密/加密Python

解密/加密Python,python,Python,这将进行加密,以便('w','f')返回'b'。我如何写代码的倒数来解密它,使('b','f')返回'w' def char_encrypt(plaintextchar, keychar): result= chr(ord('a') + ((ord(plaintextchar) - ord('a')) + (ord(keychar) - ord('a'))) % 26) ciphertextchar = result return ciphertextchar 这是标

这将进行加密,以便('w','f')返回'b'。我如何写代码的倒数来解密它,使('b','f')返回'w'

def char_encrypt(plaintextchar, keychar):
    result= chr(ord('a') + ((ord(plaintextchar) - ord('a')) +  (ord(keychar) - ord('a'))) % 26)
    ciphertextchar = result
    return ciphertextchar

这是标准的rot13材料。。。最好为给定的字符创建一个翻译表

from string import maketrans,ascii_lowercase as lc,ascii_uppercase as uc

def create_transtab(key,decode=False):
    offset = ord(key)-ord('a')
    data_plaintext = lc+ uc
    data_shift = lc[offset:]+lc[:offset] + uc[offset:] + uc[:offset]
    if not decode:
       return maketrans(data_plaintext,data_shift)
    return maketrans(data_shift,data_plaintext)

def encode_text(my_text,key):
    tab = create_transtab(key)
    return my_text.translate(tab)

def decode_text(my_text,key):
    tab = create_transtab(key,decode=1)
    return my_text.translate(tab)

print encode_text("w","f")
print decode_text("b","f")

这看起来非常类似于不使用itertools@user4612856,请不要再三问同一个问题。