zoukankan      html  css  js  c++  java
  • 栅栏密码

    原理

    所谓栅栏密码,就是把明文分成N个组,然后取出每组的第一个,每组的第二个。。接着按顺序排列得出密文。若每个组里有2两个元素的话就叫2栏栅栏密码。

    案例

    就比如明文为The girl is beautiful,按照2栏栅栏密码的步骤就需要将这个字符串分成9个组(明文中的空格不计数),9个组分别如下: 

    Th eg ir li sb ea ut if ul 

    将每个组的第一个元素提出来,Teilseuiu 
    将每个组的第二个元素提出来,hgribatfl 
    最后按照顺序排列的密文:Teilseuiuhgribatfl,这种情况是分为两组的。自然这个组数就需要自己跑一波了。

    练习题

    一只小羊跳过了栅栏,两只小样跳过了栅栏,一坨小羊跳过了栅栏… 
    tn c0afsiwal kes,hwit1r g,npt ttessfu}ua u hmqik e {m, n huiouosarwCniibecesnren.

    别管TMD什么组数,直接脚本就是一把梭!

    #!/usr/bin/env python
    # -*- coding: utf_8 -*-
    e = raw_input('请输入要解密的字符串
    ')
    elen = len(e)
    field=[]
    for i in range(2,elen):
                if(elen%i==0):
                    field.append(i)
    
    for f in field:
        b = elen / f
        result = {x:'' for x in range(b)}
        for i in range(elen):
            a = i % b;
            result.update({a:result[a] + e[i]})
        d = ''
        for i in range(b):
            d = d + result[i]
        print '分为	'+str(f)+'	'+'栏时,解密结果为:  '+d

     

  • 相关阅读:
    第一阶段冲刺第二天
    第一阶段冲刺第一天
    用户场景描述
    第十一周总结
    第十周总结
    找水王
    sqli-labs第5关布尔盲注pyhton脚本
    intel:spectre&Meltdown侧信道攻击(一)
    windows:shellcode 远程线程hook/注入(五)
    windows:shellcode 远程线程hook/注入(四)
  • 原文地址:https://www.cnblogs.com/nul1/p/9588863.html
Copyright © 2011-2022 走看看