解密/加密Python
这将进行加密,以便('w','f')返回'b'。我如何写代码的倒数来解密它,使('b','f')返回'w'解密/加密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 这是标
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,请不要再三问同一个问题。