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简单获取本机计算机名和IP地址的方法
Jun 03 Python
开源Web应用框架Django图文教程
Mar 09 Python
python基础教程项目二之画幅好画
Apr 02 Python
Python应用库大全总结
May 30 Python
python中使用 xlwt 操作excel的常见方法与问题
Jan 13 Python
Python中Numpy mat的使用详解
May 24 Python
利用Python模拟登录pastebin.com的实现方法
Jul 12 Python
python自动化unittest yaml使用过程解析
Feb 03 Python
Python小整数对象池和字符串intern实例解析
Mar 21 Python
详解PyQt5信号与槽的几种高级玩法
Mar 24 Python
Keras 中Leaky ReLU等高级激活函数的用法
Jul 05 Python
Flask-SocketIO服务端安装及使用代码示例
Nov 26 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+ajax 无刷新删除数据
2010/02/20 PHP
thinkPHP实现瀑布流的方法
2014/11/29 PHP
PHP中让curl支持sock5的代码实例
2015/01/21 PHP
thinkphp实现163、QQ邮箱收发邮件的方法
2015/12/18 PHP
php自定义函数实现汉字转换utf8编码的方法
2016/09/29 PHP
解决PHP使用CURL发送GET请求时传递参数的问题
2019/10/11 PHP
jQuery 美元符冲突的解决方法
2010/03/28 Javascript
JavaScript开发规范要求(规范化代码)
2010/08/16 Javascript
js子页面获取父页面数据示例
2014/05/15 Javascript
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
2014/06/20 Javascript
JS实现的仿东京商城菜单、仿Win右键菜单及仿淘宝TAB特效合集
2015/09/28 Javascript
谈谈javascript中使用连等赋值操作带来的问题
2015/11/26 Javascript
JavaScript基础——使用Canvas绘图
2016/11/02 Javascript
nodejs密码加密中生成随机数的实例代码
2017/07/17 NodeJs
如何理解Vue的.sync修饰符的使用
2017/08/17 Javascript
jQuery实现点击下拉框中的值累加到文本框中的方法示例
2017/10/28 jQuery
JS字符串与二进制的相互转化实例代码详解
2019/06/28 Javascript
python批量修改文件名的实现代码
2014/09/01 Python
Python实现将sqlite数据库导出转成Excel(xls)表的方法
2017/07/17 Python
python的mysqldb安装步骤详解
2017/08/14 Python
Python实现调度算法代码详解
2017/12/01 Python
python向已存在的excel中新增表,不覆盖原数据的实例
2018/05/02 Python
python基于celery实现异步任务周期任务定时任务
2019/12/30 Python
matplotlib基础绘图命令之imshow的使用
2020/08/13 Python
HTML5高仿微信聊天、微信聊天表情|对话框|编辑器功能
2018/04/23 HTML / CSS
AmazeUI 导航条的实现示例
2020/08/14 HTML / CSS
英超联赛的首选足球:Mitre足球
2019/05/06 全球购物
在c#中using和new这两个关键字有什么意义
2013/05/19 面试题
经销商年会策划方案
2014/05/29 职场文书
社区个人对照检查材料(群众路线)
2014/09/26 职场文书
2014年幼儿园保育工作总结
2014/12/02 职场文书
合同范本之电脑出租
2019/08/13 职场文书
python数据库批量插入数据的实现(executemany的使用)
2021/04/30 Python
数据库之SQL技巧整理案例
2021/07/07 SQL Server
浅析python中特殊文件和特殊函数
2022/02/24 Python
css3手动实现pc端横向滚动
2022/06/21 HTML / CSS