看完这篇关于 Vigenere Cipher 的教程后,我(希望)理解了它的基本概念。我们想为字符串分配一个键,然后将字符串中的每个字母移动键中每个字母的(从 0 开始的)字母位置值。所以当以培根为重点时,
Meet me in the park at eleven am
baco nb ac onb acon ba conbac on
Run Code Online (Sandbox Code Playgroud)
变成
Negh zf av huf pcfx bt gzrwep oz
Run Code Online (Sandbox Code Playgroud)
当我从头开始编写 Vigenere Cipher 时,我只知道第一步是将密钥分配给字符串。当我这样做时,我想识别每个字符是否是 alpha 以便我可以保留字符串中的任何特殊字符(!、@、# 等)(如果有的话)。
text = input("Enter some text:")
def encrypt(text):
#key = bacon
encrypted = []
baconvalue = {'A':0, 'a':0, 'B':1, 'b':1, 'C':2, 'c':2, 'D':3, 'd':3, 'E':4, 'e':4, 'F':5, 'f':5, 'G':6, 'g':6, 'H':7, 'h':7, 'I':8, 'i':8, 'J':9, 'j':9, 'K':10, 'k':10, 'L':11, …Run Code Online (Sandbox Code Playgroud)