Python实现的维尼吉亚密码算法示例

yipeiwu_com6年前Python基础

本文实例讲述了Python实现的维尼吉亚密码算法。分享给大家供大家参考,具体如下:

一 代码

# -*- coding:utf-8 -*-
#key='relations'
#plaintext='tomorrowiwillhaveagood'
print("【听图阁-专注于Python设计】测试结果:")
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)

二 运行结果:

PS:关于加密解密感兴趣的朋友还可以参考本站在线工具:

文字在线加密解密工具(包含AES、DES、RC4等):
http://tools.jb51.net/password/txt_encode

MD5在线加密工具:
http://tools.jb51.net/password/CreateMD5Password

在线散列/哈希算法加密工具:
http://tools.jb51.net/password/hash_encrypt

在线MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
http://tools.jb51.net/password/hash_md5_sha

在线sha1/sha224/sha256/sha384/sha512加密工具:
http://tools.jb51.net/password/sha_encode

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python加密解密算法与技巧总结》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

Numpy数组转置的两种实现方法

Numpy数组转置很容易,两种写法 np_array = np.array([[1, 2], [3, 4]]) np_array.transpose() np.transpose...

pycharm使用matplotlib.pyplot不显示图形的解决方法

如下案例,可以正常保存图像,但是plt.show()不能正常显示图像,这里是使用pandas模块读取csv文件: # coding=utf-8 import pandas as pd...

python selenium 查找隐藏元素 自动播放视频功能

python selenium 查找隐藏元素 自动播放视频功能

在使用python做爬虫的过程中,有些页面的的部分数据是通过js异步加载的,js调用接口的请求中有时还带有些加密的参数很难破解无法使用requests这样的包直接爬取数据,因此需要借助s...

Django框架基础模板标签与filter使用方法详解

Django框架基础模板标签与filter使用方法详解

本文实例讲述了Django框架基础模板标签与filter使用方法。分享给大家供大家参考,具体如下: 一、基本的模板语言 1、变量 {{ }} 1.1、进入Django shell 环境...

python生成随机密码或随机字符串的方法

本文实例讲述了python生成随机密码或随机字符串的方法。分享给大家供大家参考。具体实现方法如下: import string,random def makePassword(mi...