您的位置:首页 > 编程语言 > Python开发

python实现维尼吉亚密码

2017-11-22 11:21 183 查看
一 代码

#key='relations'


#plaintext='tomorrowiwillhaveagood'




key='helloworld'


plaintext=input('请输入明文:')


ascii='abcdefghijklmnopqrstuvwxyz'


keylen=len(key)


ptlen=len(plaintext)


ciphertext =''


i =0


while i < ptlen:


j = i % keylen


k = ascii.index(key[j])


m = ascii.index(plaintext[i])


ciphertext += ascii[(m+k)%26]


i +=1




print(ciphertext)






#维吉尼亚加密算法 解密


key='helloworld'


ciphertext=input('请输入密文:')


ascii='abcdefghijklmnopqrstuvwxyz'


keylen=len(key)


ctlen=len(ciphertext)


plaintext =''


i =0


while i < ctlen:


j = i % keylen


k = ascii.index(key[j])


m = ascii.index(ciphertext[i])


if m < k:


m +=26


plaintext += ascii[m-k]


i +=1


print(plaintext)


二 运行结果

请输入明文:tomorrowiwillhaveagood
asxzfncntzppwsorsrrrvh
请输入密文:asxzfncntzppwsorsrrrvh
tomorrowiwillhaveagood
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: