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中pandas.DataFrame对行与列求和及添加新行与列示例
Mar 12 Python
Python+树莓派+YOLO打造一款人工智能照相机
Jan 02 Python
Python机器学习k-近邻算法(K Nearest Neighbor)实例详解
Jun 25 Python
python将txt文件读取为字典的示例
Dec 22 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
Jun 21 Python
python3.7 利用函数os pandas利用excel对文件名进行归类
Sep 29 Python
python 实现字符串下标的输出功能
Feb 13 Python
Python第三方包之DingDingBot钉钉机器人
Apr 09 Python
Python是怎样处理json模块的
Jul 16 Python
详解python中GPU版本的opencv常用方法介绍
Jul 24 Python
解决python3.x安装numpy成功但import出错的问题
Nov 17 Python
PO模式在selenium自动化测试框架的优势
Mar 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运行出现Call to undefined function curl_init()的解决方法
2010/11/02 PHP
Yii中render和renderPartial的区别
2014/09/03 PHP
浅析PHP 中move_uploaded_file 上传中文文件名失败
2019/04/17 PHP
JQUERY CHECKBOX全选,取消全选,反选方法三
2008/08/30 Javascript
轻量级 JS ToolTip提示效果
2010/07/20 Javascript
实现点击列表弹出列表索引的两种方式
2013/03/08 Javascript
获取客户端网卡MAC地址和IP地址实现JS代码
2013/03/17 Javascript
理解 JavaScript Scoping &amp; Hoisting(二)
2015/11/18 Javascript
Angular.js与Bootstrap相结合实现手风琴菜单代码
2016/04/13 Javascript
深入浅析JavaScript中with语句的理解
2016/05/12 Javascript
Easyui在treegrid添加控件的实现方法
2017/06/23 Javascript
Vue微信项目按需授权登录策略实践思路详解
2018/05/07 Javascript
JS关于刷新页面的相关总结
2018/05/09 Javascript
在ES5与ES6环境下处理函数默认参数的实现方法
2018/05/13 Javascript
vue项目部署到Apache服务器中遇到的问题解决
2018/08/24 Javascript
vue和better-scroll实现列表左右联动效果详解
2019/04/29 Javascript
弱类型语言javascript中 a,b 的运算实例小结
2019/08/07 Javascript
js实现贪吃蛇游戏 canvas绘制地图
2020/09/09 Javascript
Python3处理文件中每个词的方法
2015/05/22 Python
Python中表示字符串的三种方法
2017/09/06 Python
Python构建网页爬虫原理分析
2017/12/19 Python
pytorch 把MNIST数据集转换成图片和txt的方法
2018/05/20 Python
Linux下Pycharm、Anaconda环境配置及使用踩坑
2018/12/19 Python
django2.0扩展用户字段示例
2019/02/13 Python
Python计算公交发车时间的完整代码
2020/02/12 Python
Mac中PyCharm配置Anaconda环境的方法
2020/03/04 Python
基于python模拟TCP3次握手连接及发送数据
2020/11/06 Python
CSS3 优势以及网页设计师如何使用CSS3技术
2009/07/29 HTML / CSS
利用简洁的图片预加载组件提升html5移动页面的用户体验
2016/03/11 HTML / CSS
葡萄牙鞋子品牌:Fair
2016/12/10 全球购物
Bugatchi官方网站:男士服装在线
2019/04/10 全球购物
即兴演讲稿
2014/01/04 职场文书
矫正人员思想汇报
2014/01/08 职场文书
单位工作证明范文
2014/09/14 职场文书
Spring Data JPA的Audit功能审计数据库的变更
2021/06/26 Java/Android
VMware虚拟机安装 Windows Server 2022的详细图文教程
2022/09/23 Servers