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操作json数据的一个简单例子
Apr 17 Python
详解Python的Django框架中的模版相关知识
Jul 15 Python
Python实现将Excel转换为json的方法示例
Aug 05 Python
Python爬虫之xlml解析库(全面了解)
Aug 08 Python
Python编程二分法实现冒泡算法+快速排序代码示例
Jan 15 Python
python如何把嵌套列表转变成普通列表
Mar 20 Python
Python实现线程状态监测简单示例
Mar 28 Python
Python实现正弦信号的时域波形和频谱图示例【基于matplotlib】
May 04 Python
不到40行代码用Python实现一个简单的推荐系统
May 10 Python
python中update的基本使用方法详解
Jul 17 Python
opencv实现简单人脸识别
Feb 19 Python
python解析多层json操作示例
Dec 30 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 mail 通过Windows的SMTP发送邮件失败的解决方案
2009/05/27 PHP
PHP 计算代码执行耗时的代码修正网上普遍错误
2011/05/14 PHP
PHP插入排序实现代码
2013/04/04 PHP
php获取当前时间的毫秒数的方法
2014/01/26 PHP
PHP框架Laravel中使用UUID实现数据分表操作示例
2018/05/30 PHP
PHP+MySQL实现输入页码跳转到指定页面功能示例
2018/06/01 PHP
Javascript操纵Cookie实现购物车程序
2007/02/15 Javascript
Jquery + Ajax调用webService实例代码(asp.net)
2010/08/27 Javascript
同域jQuery(跨)iframe操作DOM(示例代码)
2013/12/13 Javascript
js控制分页打印、打印分页示例
2014/02/08 Javascript
jquery阻止后续事件只执行第一个事件
2014/07/24 Javascript
javascript模拟map输出与去除重复项的方法
2015/02/09 Javascript
javascript HTML+CSS实现经典橙色导航菜单
2016/02/16 Javascript
详解js中Number()、parseInt()和parseFloat()的区别
2016/12/20 Javascript
详解使用nodeJs安装Vue-cli
2017/05/17 NodeJs
node通过npm写一个cli命令行工具
2017/10/12 Javascript
js使用ajax传值给后台,后台返回字符串处理方法
2018/08/08 Javascript
详解vue3.0 的 Composition API 的一种使用方法
2020/10/26 Javascript
使用Python设置tmpfs来加速项目的教程
2015/04/17 Python
Python变量作用范围实例分析
2015/07/07 Python
Django中URLconf和include()的协同工作方法
2015/07/20 Python
python分布式环境下的限流器的示例
2017/10/26 Python
在VS Code上搭建Python开发环境的方法
2018/04/06 Python
更换Django默认的模板引擎为jinja2的实现方法
2018/05/28 Python
PyQt打开保存对话框的方法和使用详解
2019/02/27 Python
Python 抓取微信公众号账号信息的方法
2019/06/14 Python
python代码实现将列表中重复元素之间的内容全部滤除
2020/05/22 Python
Python批量获取并保存手机号归属地和运营商的示例
2020/10/09 Python
python给list排序的简单方法
2020/12/10 Python
HTML5中使用postMessage实现Ajax跨域请求的方法
2016/04/19 HTML / CSS
澳大利亚当地社区首选的光学商店:1001 Optical
2019/08/24 全球购物
2015年六一儿童节活动总结
2015/02/11 职场文书
春秋淹城导游词
2015/02/11 职场文书
2019XX公司员工考核管理制度!
2019/08/07 职场文书
创业计划书之网络外卖
2019/10/31 职场文书
git中cherry-pick命令的使用教程
2022/06/25 Servers