Python实现的维尼吉亚密码算法示例


Posted in Python onApril 12, 2018

本文实例讲述了Python实现的维尼吉亚密码算法。分享给大家供大家参考,具体如下:

一 代码

# -*- coding:utf-8 -*-
#key='relations'
#plaintext='tomorrowiwillhaveagood'
print("三水点靠木测试结果:")
key='helloworld'
plaintext=raw_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=raw_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)

二 运行结果:

Python实现的维尼吉亚密码算法示例

Python 相关文章推荐
使用Python的Tornado框架实现一个一对一聊天的程序
Apr 25 Python
深入解析Python中的WSGI接口
May 11 Python
python实现统计代码行数的方法
May 22 Python
python 开发的三种运行模式详细介绍
Jan 18 Python
python django使用haystack:全文检索的框架(实例讲解)
Sep 27 Python
python+mongodb数据抓取详细介绍
Oct 25 Python
Python之读取TXT文件的方法小结
Apr 27 Python
解决pandas .to_excel不覆盖已有sheet的问题
Dec 10 Python
简单了解python PEP的一些知识
Jul 13 Python
python plotly画柱状图代码实例
Dec 13 Python
python实现修改固定模式的字符串内容操作示例
Dec 30 Python
浅谈Python 函数式编程
Jun 20 Python
python pandas dataframe 按列或者按行合并的方法
Apr 12 #Python
python监控进程脚本
Apr 12 #Python
使用Eclipse如何开发python脚本
Apr 11 #Python
一份python入门应该看的学习资料
Apr 11 #Python
Python实现时钟显示效果思路详解
Apr 11 #Python
pandas数据分组和聚合操作方法
Apr 11 #Python
使用pandas对矢量化数据进行替换处理的方法
Apr 11 #Python
You might like
php数组总结篇(一)
2008/09/30 PHP
PHPMailer安装方法及简单实例
2008/11/25 PHP
献给php初学者(入门学习经验谈)
2010/10/12 PHP
php投票系统之增加与删除投票(管理员篇)
2016/07/01 PHP
[原创]PHP获取数组表示的路径方法分析【数组转字符串】
2017/09/01 PHP
Discuz! 6.1_jQuery兼容问题
2008/09/23 Javascript
js 获取中文拼音,Select自动匹配字母获取值的代码
2009/09/23 Javascript
15款优秀的jQuery导航菜单插件分享
2011/07/19 Javascript
js取整数、取余数的方法
2014/05/11 Javascript
jQuery实现查找最近父节点的方法
2016/06/23 Javascript
jquery自动补齐功能插件flexselect用法示例
2016/08/06 Javascript
JavaScript实现的select点菜功能示例
2017/01/16 Javascript
BootStrap 表单控件之单选按钮水平排列
2017/05/23 Javascript
基于jquery实现多选下拉列表
2017/08/02 jQuery
vue 2.x 中axios 封装的get 和post方法
2018/02/28 Javascript
jQuery实现基本淡入淡出效果的方法详解
2018/09/05 jQuery
详解Nuxt内导航栏的两种实现方式
2020/04/16 Javascript
npm ci命令的基本使用方法
2020/09/20 Javascript
解决ant Design中this.props.form.validateFields未执行的问题
2020/10/27 Javascript
NodeJS配置CORS实现过程详解
2020/12/02 NodeJs
Python每天必学之bytes字节
2016/01/28 Python
python安装oracle扩展及数据库连接方法
2017/02/21 Python
python中requests库session对象的妙用详解
2017/10/30 Python
TensorFlow 合并/连接数组的方法
2018/07/27 Python
Django实现将一个字典传到前端显示出来
2020/04/03 Python
Django多数据库联用实现方法解析
2020/11/12 Python
Python3.9最新版下载与安装图文教程详解(Windows系统为例)
2020/11/28 Python
Html5定位终极解决方案
2020/02/05 HTML / CSS
会计师事务所实习证明
2014/11/16 职场文书
医院病假条范文
2015/08/17 职场文书
2016关于学习党章的心得体会
2016/01/15 职场文书
深度好文:50条没人告诉你的人生经验,句句精辟
2019/08/22 职场文书
2020年个人安全保证书参考模板
2020/01/08 职场文书
Pytorch反向传播中的细节-计算梯度时的默认累加操作
2021/06/05 Python
一些让Python代码简洁的实用技巧总结
2021/08/23 Python
nginx 配置缓存
2022/05/11 Servers