栅栏密码的变种WWW型

栅栏密码:

  所谓栅栏密码,就是把要加密的明文分成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
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值