python编写加密程序_python编写的维吉尼亚密码加解密程序

维吉尼亚密码表

wKioL1Z1WwDBEaHWAAGY7UKfZSE837.jpg

=============================================

#维吉尼亚密码 加密

key='helloworld'

plaintext='whereisthekey'

#key='relations'

#plaintext='tobeornottobeth'

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='dlpcsegkshrij'

#key='relations'

#ciphertext='ksmehzbblk'

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值