用Python(置换加密)提供的密钥(乱序字符)替换文本(任意长度)

Replace a text(of any length) with a key(shuffled characters) provided using Python(Permutation encryption)

我应该在提供文本和密钥的情况下进行置换加密。 让我们说

text = "abbdcada"

key = "dcab"

所以我必须映射这样的东西 (a,b,c,d) -> (d,c,a,b) 所以上面输入的输出应该是

output = dccbadbd

如果我有相同长度的文本和密钥,我可以很容易地做到这一点,但我无法为长度超过密钥长度的文本制定逻辑。

谁能帮帮我...

您可以使用字典进行映射。

def encrypt(text):
    mapping = {'a': 'd', 'b': 'c', 'c': 'a', 'd': 'b'}
    return ''.join(mapping[i] for i in text)


>>> encrypt("abbdcada")
'dccbadbd'