一前言:
换位密码基本原理:先把明文按照固定长度进行分组,然后对每一组的字符进行换位操作,从而实现加密。例如,字符串“Error should never pass silently”,使用秘钥1432进行加密时,首先将字符串分成若干长度为4的分组,然后对每个分组的字符进行换位,第1个和第3个字符位置不变,把第2个字符和第4个字符交换位置,得到“Eorrrs shluoden v repssa liseltny”
二 代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
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 )))
|
三 运行结果
1
2
|
Eorrrhs odlu venep ra ssselintly
Error should never pass silently
|
以上就是关于python 换位密码的算法实例详解,大家有疑问可以留言或者到本站社区讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文链接:http://cakin24.iteye.com/blog/2384763