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

相关文章

200行python代码实现2048游戏

Python实战系列用于记录实战项目中的思路,代码实现,出现的问题与解决方案以及可行的改进方向 本文为第2篇–200行Python代码实现2048 一、分析与函数设计 1.1 游戏玩法...

Python 输入一个数字判断成绩分数等级的方法

成绩分数等级为: 100-90 A 90-80 B 80-70 C 70-60 D 60以下 F 实现判断分数等级是一个很简单的数学问题,只要你输入的这个数字介于两...

python中sort和sorted排序的实例方法

Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列。 1)排序基础 简单的升序排序是非常容易的。只需要...

解决使用PyCharm时无法启动控制台的问题

问题: 使用PyCharm时无法启动控制台? 今天打开PyCharm时突然无法启动控制台,IPython和Python本身都无法使用 解决: 很有可能你安装了较高版本的ipython...

python selenium 执行完毕关闭chromedriver进程示例

因为使用多次以后发现进程中出现了很多chromedriver的残留,造成卡顿,所以决定优化一下。 这个问题困扰了楼主很久,百度谷歌查来查去都只有java,后面根据java和seleniu...