1.栅栏密码介绍
所谓栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规律的话。不过栅栏密码本身有一个潜规则,就是组成栅栏的字母一般不会太多。 —百度百科
例如: 将明文字符串"hello world"分为2组,即栅栏(密钥)为2。
去掉空格:helloworld
2个1组:
helloworld
取第一个字母组合:hlool
取第二个字母组合:elwrd
最后得到栅栏加密为:hloolelwrd
注意:当len(strings)%n != 0时,缺少的位数使用@填充。len(strins)代表明文字符串长度,n代表栅栏数(密钥)。
2.栅栏密码加密
fence_Passwd_encode.py:
#!/usr/bin/python
# Env: python3
# Author: afei_0and1
# -*- coding: utf8 -*-
def fence_Passwd_encode():string = input('请输入需要加密的明文:')num = int(input('请输入栅栏数(密钥):'))res = ''for i in range(int(num)):#遍历循环输出结果for j in range(int(string.__len__()/num + 0.5)):#print(j)try:res += string[j*num+i]except:passprint(res)if(__name__ == '__main__'):fence_Passwd_enco