栅栏密码:
所谓栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规律的话。 不过栅栏密码本身有一个潜规则,就是组成栅栏的字母一般不会太多。
传统型:
假如有一个字符串:123456789
取字符串长度的因数进行分组,假如key=3
1 2 3 \\分组情况,每三个数字一组,分为三组
4 5 6
7 8 9
然后每一组依次取一个数字组成一个新字符串:147258369 \\加密完成的字符串
解密方法:
遇到这种的栅栏加密的密文,解密的key值就是字符串的长度除以加密的key值 (de_key = len / key)再用de_key将密文字符串加密就可以得到原文字符串。
加密解密网站:http://www.zjslove.com/3.decode/zhalan/index.html
WWW型:
同样一个字符串:123456789
key=3
1----5----9 \\让数字以W型组织,同样是三组,但每组的数量不一定相同
-2--4-6--8
--3----7--
加密密文:159246837
加密脚本
def encode(string, key):#需要加密的字符串以及加密栏数
i = 0
enlist = []
for j in range(0, key):
enlist.append('')#添加分组,列表的一个元素相当于一个分组
while i < len(string):#分组重排进行加密
for k in range(0, key