我正在为我的学校进行单词加密,但无法弄清楚如何将其从个位数加密转换为完整的单词。我希望能够做完整的单词,而不是一次一个字母。如果有人能帮助我解决这个问题,我将不胜感激
while True:
print("Input letters you would like to encrypt")
IN= input()
if IN=="a":
print("BCDEFGHIJKLMNOPQRSTUVWXYZ")
elif IN=="A":
print("BCDEFGHIJKLMNOPQRSTUVWXYZ")
elif IN=="b":
print("ACDEFGHIJKLMNOPQRSTUVWXYZ")
elif IN=="B":
print("ACDEFGHIJKLMNOPQRSTUVWXYZ")
elif IN=="c":
print("ABDEFGHIJKLMNOPQRSTUVWXYZ")
elif IN=="C":
print("ABDEFGHIJKLMNOPQRSTUVWXYZ")
elif IN=="d":
print("ABCEFGHIJKLMNOPQRSTUVWXYZ")
elif IN=="D":
print("ABCEFGHIJKLMNOPQRSTUVWXYZ")
elif IN=="e":
print("ABCDFGHIJKLMNOPQRSTUVWXYZ")
elif IN=="E":
print("ABCDFGHIJKLMNOPQRSTUVWXYZ")
elif IN=="f":
print("ABCDEGHIJKLMNOPQRSTUVWXYZ")
elif IN=="F":
print("ABCDEGHIJKLMNOPQRSTUVWXYZ")
elif IN=="g":
print("ABCDEFHIJKLMNOPQRSTUVWXYZ")
elif IN=="G":
print("ABCDEFHIJKLMNOPQRSTUVWXYZ")
elif IN=="h":
print("ABCDEFGIJKLMNOPQRSTUVWXYZ")
elif IN=="H":
print("ABCDEFGIJKLMNOPQRSTUVWXYZ")
elif IN=="i":
print("ABCDEFGHJKLMNOPQRSTUVWXYZ")
elif IN=="I":
print("ABCDEFGHJKLMNOPQRSTUVWXYZ")
elif IN=="j":
print("ABCDEFGHIKLMNOPQRSTUVWXYZ")
elif IN=="J":
print("ABCDEFGHIKLMNOPQRSTUVWXYZ")
elif IN=="k":
print("ABCDEFGHIJLMNOPQRSTUVWXYZ")
elif IN=="K":
print("ABCDEFGHIJLMNOPQRSTUVWXYZ")
elif IN=="l":
print("ABCDEFGHIJKMNOPQRSTUVWXYZ")
elif IN=="L":
print("ABCDEFGHIJKMNOPQRSTUVWXYZ")
elif IN=="m":
print("ABCDEFGHIJKLNOPQRSTUVWXYZ")
elif IN=="M":
print("ABCDEFGHIJKLNOPQRSTUVWXYZ")
elif IN=="n":
print("ABCDEFGHIJKLMOPQRSTUVWXYZ")
elif IN=="N":
print("ABCDEFGHIJKLMOPQRSTUVWXYZ")
elif IN=="o":
print("ABCDEFGHIJKLMNPQRSTUVWXYZ")
elif IN=="O":
print("ABCDEFGHIJKLMNPQRSTUVWXYZ")
elif IN=="p":
print("ABCDEFGHIJKLMNOQRSTUVWXYZ")
elif IN=="P":
print("ABCDEFGHIJKLMNOQRSTUVWXYZ")
elif IN=="q":
print("ABCDEFGHIJKLMNOPRSTUVWXYZ")
elif IN=="Q":
print("ABCDEFGHIJKLMNOPRSTUVWXYZ")
elif IN=="r":
print("ABCDEFGHIJKLMNOPQSTUVWXYZ")
elif IN=="R":
print("ABCDEFGHIJKLMNOPQSTUVWXYZ")
elif IN=="s":
print("ABCDEFGHIJKLMNOPQRTUVWXYZ")
elif IN=="S":
print("ABCDEFGHIJKLMNOPQRTUVWXYZ")
elif IN=="t":
print("ABCDEFGHIJKLMNOPQRSUVWXYZ")
elif IN=="T":
print("ABCDEFGHIJKLMNOPQRSUVWXYZ")
elif IN=="u":
print("ABCDEFGHIJKLMNOPQRSTVWXYZ")
elif IN=="U":
print("ABCDEFGHIJKLMNOPQRSTVWXYZ")
elif IN=="v":
print("ABCDEFGHIJKLMNOPQRSTUWXYZ")
elif IN=="V":
print("ABCDEFGHIJKLMNOPQRSTUWXYZ")
elif IN=="w":
print("ABCDEFGHIJKLMNOPQRSTUVXYZ")
elif IN=="W":
print("ABCDEFGHIJKLMNOPQRSTUVXYZ")
elif IN=="x":
print("ABCDEFGHIJKLMNOPQRSTUVWYZ")
elif IN=="X":
print("ABCDEFGHIJKLMNOPQRSTUVWYZ")
elif IN=="y":
print("ABCDEFGHIJKLMNOPQRSTUVWXZ")
elif IN=="Y":
print("ABCDEFGHIJKLMNOPQRSTUVWXZ")
elif IN=="z":
print("ABCDEFGHIJKLMNOPQRSTUVWXY")
elif IN=="Z":
print("ABCDEFGHIJKLMNOPQRSTUVWXY")
else:
print("One number at a time bud")
通过
你可能在你的项目上努力工作,但遗憾的是,我认为能够生成加密文本可能有点太简约了。正如您所说,您的代码当前正在做的只是能够打印 1 位加密。
可悲的是,我对 python 的了解有所下降,但一个简单的谷歌也许能够帮助你,我快速浏览了一下,所以我希望这有所帮助!http://www.dlitz.net/software/pycrypto/这应该希望对您有所帮助,它还为您提供了解密器。如果需要,
我从他们的文件中得到了这个,
>>> from Crypto.Cipher import DES
>>> obj=DES.new('abcdefgh', DES.MODE_ECB)
>>> plain="Guido van Rossum is a space alien."
>>> len(plain)
34
>>> obj.encrypt(plain)
Traceback (innermost last):
File "<stdin>", line 1, in ?
ValueError: Strings for DES must be a multiple of 8 in length
>>> ciph=obj.encrypt(plain+'XXXXXX')
>>> ciph
' 21,343Nq214DY337T342pA372255311s210363,300j330250312347342I3215w 3561303dgb/ 06'
>>> obj.decrypt(ciph)
'Guido van Rossum is a space alien.XXXXXX'
只是为了好玩:
from string import ascii_uppercase
while True:
print("Input letters you would like to encrypt")
IN= input().upper()
if IN.upper() in ascii_uppercase:
print(ascii_uppercase.replace(IN, ''))
您正在尝试返回相对于提供的字母的罗马字母的补码。
有几种方法可以做到这一点:
from string import ascii_uppercase
def reduce_complement_alpha(letters):
res = reduce(lambda letter: alphabet.replace(letter, ''), letters.upper(), ascii_uppercase)
return res
def set_complement_letters(letters):
res = ''.join(sorted(set(ascii_upper) - set(letters.upper())))
return res
def filter_complement_letters(letters):
res = ''.join(filter(lambda l: l not in letters.upper(), ascii_uppercase))
return res
这些只是几个例子:)第一个特征 O(n log n) 时间复杂度,但实际上由于您的 n 非常小,所以无关紧要,而最后一个特征具有线性 O(n) 时间复杂度。