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 换位密码的算法实例详解,大家有疑问可以留言或者到本站社区讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

解决python matplotlib imshow无法显示的问题

实例如下所示: import matplotlib.pyplot as plt plt.imshow(img) #控制台打印出图像对象的信息,而图像没有显示 解决方法: #引入pyl...

浅谈Python 多进程默认不能共享全局变量的问题

主进程与子进程是并发执行的,进程之间默认是不能共享全局变量的(子进程不能改变主进程中全局变量的值)。如果要共享全局变量需要用(multiprocessing.Value("d",10.0...

Python的条件语句与运算符优先级详解

Python的条件语句与运算符优先级详解

Python 条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。 可以通过下图来简单了解条件语句的执行过程: Python程序...

如何通过50行Python代码获取公众号全部文章

如何通过50行Python代码获取公众号全部文章

前言 我们平时阅读公众号的文章会遇到一个问题——阅读历史文章体验不好。 我们知道爬取公众号的方式常见的有两种:通过搜狗搜索去获取,缺点是只能获取最新的十条推送文章。通过微信公众号的素材管...

django+tornado实现实时查看远程日志的方法

大致思路: 1.利用tornado提供的websocket功能与浏览器建立长连接,读取实时日志并输出到浏览器 2.写一个实时读取日志的脚本,利用saltstack远程执行,并把实时日志发...