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实现人人网登录示例分享
Jan 19 Python
提升Python程序运行效率的6个方法
Mar 31 Python
CentOS中使用virtualenv搭建python3环境
Jun 08 Python
浅谈Python基础之I/O模型
May 11 Python
详解Python中for循环是如何工作的
Jun 30 Python
python解析json串与正则匹配对比方法
Dec 20 Python
Python使用指定端口进行http请求的例子
Jul 25 Python
Python编程快速上手——强口令检测算法案例分析
Feb 29 Python
Python Selenium实现无可视化界面过程解析
Aug 25 Python
python操作链表的示例代码
Sep 27 Python
python 两种方法删除空文件夹
Sep 29 Python
python 三边测量定位的实现代码
Apr 22 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
德生PL660的电路分析和打磨
2021/03/02 无线电
PHP 编程的 5个良好习惯
2009/02/20 PHP
PHP 生成的XML以FLASH获取为乱码终极解决
2009/08/07 PHP
php下批量挂马和批量清马代码
2011/02/27 PHP
JSON在PHP中的应用介绍
2012/09/08 PHP
PHP中source #N问题的解决方法
2014/01/27 PHP
php格式化日期实例分析
2014/11/12 PHP
给WordPress的编辑后台添加提示框的代码实例分享
2015/12/25 PHP
JavaScript中的Document文档对象
2008/01/16 Javascript
学习从实践开始之jQuery插件开发 对话框插件开发
2012/04/26 Javascript
JQuery验证jsp页面属性是否为空(实例代码)
2013/11/08 Javascript
jQuery选择器全面总结
2014/01/06 Javascript
JS 获取浏览器和屏幕宽高等信息代码
2014/03/31 Javascript
jquery仅用6行代码实现滑动门效果
2015/09/07 Javascript
jquery UI Datepicker时间控件的使用方法(加强版)
2015/11/07 Javascript
JavaScript中的this到底是什么(一)
2015/12/09 Javascript
JQuery的常用选择器、过滤器、方法全面介绍
2016/05/25 Javascript
iOS和Android用同一个二维码实现跳转下载链接的方法
2016/09/28 Javascript
bootstrapValidator自定验证方法写法
2016/12/01 Javascript
基于ajax与msmq技术的消息推送功能实现代码
2016/12/26 Javascript
初探nodeJS
2017/01/24 NodeJs
ES6新特性之Symbol类型用法分析
2017/03/31 Javascript
jQuery树插件zTree使用方法详解
2017/05/02 jQuery
基于Cookie常用操作以及属性介绍
2017/09/07 Javascript
vue-cli webpack 引入swiper的操作方法
2018/09/15 Javascript
如何在 JavaScript 中更好地利用数组
2018/09/27 Javascript
ng-zorro-antd 入门初体验
2018/12/03 Javascript
JS数组reduce()方法原理及使用技巧解析
2020/07/14 Javascript
[19:15]DK战队纪录片
2014/09/02 DOTA
[02:11]完美世界DOTA2联赛10月28日赛事精彩集锦:来吧展示实力强劲
2020/10/29 DOTA
python开发之thread实现布朗运动的方法
2015/11/11 Python
公司户外活动总结
2014/07/04 职场文书
党员个人整改方案及措施
2014/10/25 职场文书
2014小学年度工作总结
2014/12/20 职场文书
《抽屉原理》教学反思
2016/02/20 职场文书
Python利用机器学习算法实现垃圾邮件的识别
2021/06/28 Python