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简单日志处理类分享
Feb 14 Python
放弃 Python 转向 Go语言有人给出了 9 大理由
Oct 20 Python
Python实现定时备份mysql数据库并把备份数据库邮件发送
Mar 08 Python
python的debug实用工具 pdb详解
Jul 12 Python
Python jieba库用法及实例解析
Nov 04 Python
Django框架表单操作实例分析
Nov 04 Python
pytorch实现对输入超过三通道的数据进行训练
Jan 15 Python
python计算二维矩形IOU实例
Jan 18 Python
Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法详解
Mar 30 Python
Python中使用subprocess库创建附加进程
May 11 Python
教你如何使用Python实现二叉树结构及三种遍历
Jun 18 Python
Python基本知识点总结
Apr 07 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 empty(),isset(),is_null()的实例测试详解
2013/06/06 PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
2015/01/30 PHP
分享PHP计算两个日期相差天数的代码
2015/12/23 PHP
php实现的生成排列算法示例
2019/07/25 PHP
JavaScript 浏览器验证代码(来自discuz)
2010/07/17 Javascript
javascript编码的几个方法详细介绍
2013/01/06 Javascript
jquery创建一个ajax关键词数据搜索实现思路
2013/02/26 Javascript
你必须知道的JavaScript 中字符串连接的性能的一些问题
2013/05/07 Javascript
在js文件中如何获取basePath处理js路径问题
2013/07/10 Javascript
基于jquery实现select选择框内容左右移动添加删除代码分享
2015/08/25 Javascript
JavaScript如何获取数组最大值和最小值
2015/11/18 Javascript
详解JavaScript中基于原型prototype的继承特性
2016/05/05 Javascript
基于Three.js插件制作360度全景图
2016/11/29 Javascript
node.js的exports、module.exports与ES6的export、export default深入详解
2017/10/26 Javascript
Vue.js构建你的第一个包并在NPM上发布的方法步骤
2019/05/01 Javascript
实例讲解JavaScript 计时事件
2020/07/04 Javascript
python递归删除指定目录及其所有内容的方法
2017/01/13 Python
分析python切片原理和方法
2017/12/19 Python
Python实现读取Properties配置文件的方法
2018/03/29 Python
解决csv.writer写入文件有多余的空行问题
2018/07/06 Python
pycharm重置设置,恢复默认设置的方法
2018/10/22 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
2019/04/25 Python
详解【python】str与json类型转换
2019/04/29 Python
python matplotlib包图像配色方案分享
2020/03/14 Python
详解Python 实现 ZeroMQ 的三种基本工作模式
2020/03/24 Python
Django自定义列表 models字段显示方式
2020/04/03 Python
给keras层命名,并提取中间层输出值,保存到文档的实例
2020/05/23 Python
scrapy结合selenium解析动态页面的实现
2020/09/28 Python
护士求职推荐信范文
2013/11/23 职场文书
2014党员自我评议表范文
2014/09/20 职场文书
2015年实习单位评语
2015/03/25 职场文书
大学生心理健康教育心得体会
2016/01/12 职场文书
2016年心理学教育培训学习心得体会
2016/01/12 职场文书
《合作意向书》怎么写?
2019/08/20 职场文书
使用css样式设计一个简单的html登陆界面的实现
2021/03/30 HTML / CSS
关于python pygame游戏进行声音添加的技巧
2021/10/24 Python