我必须制作替代密码程序,我首先创建一个随机密钥,然后使用此密钥对某些用户输入(明文)进行解密/加密。替代密码Python
encryptMsg(明文,键,字母表) 注意到明文字符串,一个字母串和秘密密钥的字符串作为参数,并返回 加密密码字符串:如下的问题的约束。请注意,在此功能中,您必须先将明文字符串转换为全部小写字母,并删除字母串中未出现的任何标点/字符!
decryptMsg(密文,密钥,字母) 将采取密文形式的字母列和密钥字符串,返回明文 字符串。
makeKey(字母) 通过随机混洗字母串 参数中的字符来生成并返回密钥字符串。提示:这涉及转动字符串转换成列表,使用random.shuffle() 方法,然后打开列表回字符串
这是我有:
import random
alphabet = "'abcdefghijklmnopqrstuvwxyz.,!'"
def makeKey(alphabet):
alphabet= list(alphabet)
key= random.shuffle(alphabet)
alphabet= str(alphabet)
return key
def encrypt(plaintext, key, alphabet):
"""Encrypt the string and return the ciphertext"""
return ''.join(key[l] for l in plaintext)
print (alphabet)
我知道我使用makeKey函数做错了,因为它不起作用。我需要一些关于如何启动其他功能的帮助。我们不能使用字典,只能列出方法。任何帮助或只是在我的任务中启动我的建议将不胜感激。多谢你们!
UPDATE:将样品输出如下:
字母:“ABCDEFGHIJKLMNOPQRSTUVWXYZ,! “
重点: '!nu.t iyvxqfl,bcjrodhkaew spzgm'
输入明文:嘿,这真的很有趣!
密文:'v! zmhvxdmxdmo!nll mikbg'
解密文字:'嘿,这真的很有趣!
怎么办你知道这行不通,你有没有打过电话?另外,如果你想把它作为一个字符串取回,使用'''.join(alphabet)'而不是'str(字母)' – Bahrom
你打算如何解密? –
还没有得到它。这就是我的问题。我需要一些指导,我该如何解决这个问题? #NoviceProbs – Joe