所谓栅栏密码,就是把要加密的明文分成 N 个一组,然后把每组的第 1 个字连起来,形成一段无规律的话
RailFenceCipher.py
#coding=utf-8 defrailFenceCipher(): e = input() elen = len(e) field=[] for i inrange(2,elen): if(elen%i==0): field.append(i) for f in field: b = int(elen / f) result = {x:''for x inrange(b)} for i inrange(elen): a = i % b; result.update({a:result[a] + e[i]}) d = '' for i inrange(b): d = d + result[i] print (d.lower())
if __name__ == '__main__': try: whileTrue: railFenceCipher() except EOFError: exit()