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重新引入被覆盖的自带function
Jul 16 Python
Python批量创建迅雷任务及创建多个文件
Feb 13 Python
PyQt5每天必学之拖放事件
Aug 27 Python
pandas中去除指定字符的实例
May 18 Python
python3基于OpenCV实现证件照背景替换
Jul 18 Python
spark dataframe 将一列展开,把该列所有值都变成新列的方法
Jan 29 Python
Python Opencv实现图像轮廓识别功能
Mar 23 Python
python numpy中cumsum的用法详解
Oct 17 Python
Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解
Apr 03 Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
May 13 Python
python批量修改交换机密码的示例
Sep 22 Python
Python-split()函数实例用法讲解
Dec 18 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实现设计模式中的抽象工厂模式详解
2014/10/11 PHP
php+ajax实时输入自动搜索匹配的方法
2014/12/26 PHP
PHP文件及文件夹操作之创建、删除、移动、复制
2016/07/13 PHP
jquery学习笔记 用jquery实现无刷新登录
2011/08/08 Javascript
JS 如何获取radio选中后的值及不选择取radio的值
2013/10/28 Javascript
流量统计器如何鉴别C#:WebBrowser中伪造referer
2015/01/07 Javascript
JQuery基础语法小结
2015/02/27 Javascript
javascript包装对象实例分析
2015/03/27 Javascript
js禁止页面刷新与后退的方法
2015/06/08 Javascript
JavaScript中数据结构与算法(五):经典KMP算法
2015/06/19 Javascript
JS随机打乱数组的方法小结
2016/06/22 Javascript
javascript 数组的正态分布排序的问题
2016/07/31 Javascript
Jquery根据浏览器窗口改变调整大小的方法
2017/02/07 Javascript
学习使用jQuery表单验证插件和日历插件
2017/02/13 Javascript
node.js利用mongoose获取mongodb数据的格式化问题详解
2017/10/06 Javascript
解决微信小程序防止无法回到主页的问题
2018/09/28 Javascript
详解关于Angular4 ng-zorro使用过程中遇到的问题
2018/12/05 Javascript
Vue 之孙组件向爷组件通信的实现
2019/04/23 Javascript
基于小程序请求接口wx.request封装的类axios请求
2020/07/02 Javascript
浅谈JavaScript中等号、双等号、 三等号的区别
2020/08/06 Javascript
uni-app实现获取验证码倒计时功能
2020/11/01 Javascript
js基于canvas实现时钟组件
2021/02/07 Javascript
Anaconda2 5.2.0安装使用图文教程
2018/09/19 Python
浅谈pycharm下找不到sqlalchemy的问题
2018/12/03 Python
修改python plot折线图的坐标轴刻度方法
2018/12/13 Python
python+mysql实现学生信息查询系统
2019/02/21 Python
Python 限制线程的最大数量的方法(Semaphore)
2019/02/22 Python
python f-string式格式化听语音流程讲解
2019/06/18 Python
Python的几种主动结束程序方式
2019/11/22 Python
python实现ftp文件传输功能
2020/03/20 Python
python爬虫可以爬什么
2020/06/16 Python
python使用matplotlib的savefig保存时图片保存不完整的问题
2021/01/08 Python
CSS3实现swap交换动画
2016/01/19 HTML / CSS
党建示范点实施方案
2014/03/12 职场文书
劳动竞赛活动总结
2014/05/05 职场文书
企业法律事务工作总结
2015/08/11 职场文书