有很多大佬写了很多很实际考虑的版本,但对于刚刚接触课本里python的高中生来说还是不好讲(刚学While 循环)。就写了这超简易版本吧,只涉及到列表,循环语句,以简单为主。
n=int(input("栅栏数:"))
s=input("输入密码:")
x=0
m=0
list=[]
while x<n:
x+=1
for i in range(len(s)):
if((i-m) % n == 0):
list.append(s[i])
m=m+1
print (list)
所谓栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规律的话。
如:123456 2栏
12 34 56
输出加密后 135246
如:ilovepython 3栏
ilo vep yth on
输出加密后 ['i', 'v', 'y', 'o', 'l', 'e', 't', 'n', 'o', 'p', 'h']