首页 > 解决方案 > 用 Python 提供的密钥(随机字符)替换文本(任意长度)(排列加密)

问题描述

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

text = "abbdcada"

key = "dcab"

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

output = dccbadbd

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

谁能帮我lz...

标签: python-3.xpermutationpublic-key-encryption

解决方案


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

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


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

推荐阅读