Python实现的维尼吉亚密码算法示例
作者:chengqiuming 发布时间:2023-08-25 10:19:25
标签:Python,密码,算法
本文实例讲述了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)
二 运行结果:
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程序设计有所帮助。
来源:https://blog.csdn.net/chengqiuming/article/details/78601100
0
投稿
猜你喜欢
- char(n)是定长格式,格式为char(n)的字段固定占用n个字符宽度,如果实际存放的数据长度超过n将被截取多出部分,如果长度小于n就用空
- matplotlib 动画我们想制作一个动画,其中正弦和余弦函数在屏幕上逐步绘制。首先需要告诉matplotlib我们想要制作一个动画,然后
- xlwt工具使用,生成excel栏位宽度可自适应内容长度import xlwtresult = [
- 前言最近在写行为识别的代码,涉及到两个网络的融合,这个融合是有加权的网络结果的融合,所以需要对网络的结果进行加权(相乘)和融合(相加)。最初
- 如下所示:# -*- coding:utf-8 -*-import sysreload(sys)sys.setdefaultencoding
- vue的面包屑导航组件 用来将其放到navbar中;Breadcrumb/index.vue<template> &
- 使用Python解析各种格式的数据都很方便,比如json、txt、xml、csv等。用于处理简单的数据完全足够用了,而且代码简单易懂。前段时
- 目录一.准备工作二.预览1.启动2.运行3.结果三.设计思路四.源代码4.1 GUI.py4.2 Search_Apps.py五.总结一.准
- django可以使用restframework快速开发接口,返回前端所需要的json数据,但是有时候利用restframework开发的接口
- 开始一个组件,毫无目的的写代码是一个不好的习惯,要经历 分析 => 抽象 => 实现 => 应用 四个阶段。组件DEMO地
- 本文实例讲述了Vue 实现从小到大的横向滑动效果。分享给大家供大家参考,具体如下:最近项目中遇到一个需求,需要实现横向滑动,并且在滑动过程中
- arange()类似于内置函数range(),通过指定开始值、终值和步长创建表示等差数列的一维数组,注意得到的结果数组不包含终值。linsp
- 前言:我们在打印一些 PDF 文件的时候可能会遇见加密不能打印的情况,需要提供密码才能打印。如果直接在浏览器中浏览 PDF 文件,它不能调取
- django 处理上传图片生成缩略图首先要注意form标签上必须有enctype="multipart/form-data&quo
- iou33449999 文:一个链接 一个层 一个onMouseOver 一个onMouseOut然后这个层就会在onMouseOver这个
- 一、多进程的实现方法一# 方法包装 多进程from multiprocessing import Processfrom ti
- 我们可用如下代码进行监控:函数中使用了fso对象来读取文件属性。Function File_GetLastModifi
- 1. torch.utils.data.Datasetdatasets这是一个pytorch定义的dataset的源码集合。下面是一个自定义
- 前言selenium处理文件上传大致会有两种情况,一种是文件上传使用的是input标签元素,即<input type="fi
- 先来说eval的用法,内容比较简单,熟悉的可以跳过eval函数接收一个参数s,如果s不是字符串,则直接返回s。否则执行s语句。如果s语句执行