在Python中使用Vigenere密码对字符串进行加密的程序
假设我们有一个小写字母字符串文本,还有另一个称为key的字符串。我们必须找到一个新的字符串,其中text[i]中的每个字母都使用offset键[i]移到右侧。这里,由key[i]在字母表中的位置表示的偏移量(A=0,B=1等)。如果字母溢出,则将其包裹在另一侧。
因此,如果输入类似于text=“code”,key=“team”,则输出将为“vsdq”
为了解决这个问题,我们将遵循以下步骤-
cip:=一个新列表
开始:='a'的ASCII
对于文本中的每个l和键中的每个k
shift:=(k的ASCII)-开始
pos:=开始+((l的ASCII)-开始+移位)mod26
在cip的末尾插入pos字符
加入cip字符串并返回
让我们看下面的实现以更好地理解-
示例
class Solution: def solve(self, text, key): cip = [] start = ord('a') for l, k in zip(text, key): shift = ord(k) - start pos = start + (ord(l) - start + shift) % 26 cip.append(chr(pos)) return ''.join([l for l in cip]) ob = Solution()text = "code" key = "team" print(ob.solve(text, key))
输入值
"code", "team"
输出结果
vsdq