python 换位密码算法的实例详解

yipeiwu_com6年前Python基础

 python 换位密码算法的实例详解

一前言:

换位密码基本原理:先把明文按照固定长度进行分组,然后对每一组的字符进行换位操作,从而实现加密。例如,字符串“Error should never pass silently”,使用秘钥1432进行加密时,首先将字符串分成若干长度为4的分组,然后对每个分组的字符进行换位,第1个和第3个字符位置不变,把第2个字符和第4个字符交换位置,得到“Eorrrs shluoden v repssa liseltny”

二 代码:

def encrypt(plainText,t): 
 result =[] 
 length = len(t) 
 temp =[plainText[i:i+length]for i in range(0,len(plainText),length)] 
for item in temp[:-1]: 
 newItem='' 
for i in t: 
 newItem = newItem + item[i-1] 
 result.append(newItem) 
return''.join(result)+ temp[-1] 
p ="Error should never pass silently" 
c = encrypt(p,(1,4,3,2)) 
print(c) 
print(encrypt(c,(1,4,3,2))) 
 

三 运行结果

Eorrrhs odlu venep ra ssselintly
Error should never pass silently

 以上就是关于python 换位密码的算法实例详解,大家有疑问可以留言或者到本站社区讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

如何使用Flask-Migrate拓展数据库表结构

前言 在我们用 sqlchemy 模块创建完几个表时,如果在实际生产环境中,需要对表结构进行更改,应该怎么办呢?总不能把表删除了吧,这样数据就会丢失了。 更好的解决办法是使用数据库迁移框...

python访问sqlserver示例

最近遇到了Python访问SqlServer的问题,这里总结下。 一、Windows下配置Python访问Sqlserver 环境:Windows 7 + Sqlserver 2008...

Python脚本实现网卡流量监控

#/usr/bin/env/python #coding=utf-8 import sys,re,time,os maxdata = 50000 #单位KB memfilename...

django1.8使用表单上传文件的实现方法

Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。 Django是一个开放源代码的Web应用框架,由Py...

Python3解决棋盘覆盖问题的方法示例

Python3解决棋盘覆盖问题的方法示例

本文实例讲述了Python3解决棋盘覆盖问题的方法。分享给大家供大家参考,具体如下: 问题描述: 在2^k*2^k个方格组成的棋盘中,有一个方格被占用,用下图的4种L型骨牌覆盖所有棋盘上...