用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'
我应该在提供文本和密钥的情况下进行置换加密。 让我们说
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'