def fence_Crypto(msg,priority="row"):
    '''
    usage:
        fence_Crypto(msg[, priority])->msg to encrypt or decrypt with fence crypto
    args:
        msg:
            a plaintext which will be crypted or a ciphertext which will be decrypted
        priority:
            row priority or column priority,default is the former
    return:
        result:
            if msg is plaintext,it contains all of possible ciphertext.
            if msg is ciphertext,it contains all of possible plaintext
    '''
    msg_len = len(msg)
    row_num = 1
    result = []
    if priority == "row":
        while row_num<=msg_len:
            temp = [msg[block_num::row_num] for block_num in xrange(row_num)]
            result.append("".join(temp))
            row_num += 1
        return result
    elif priority == "columns":
        pass
    else:
        print "parameter error!please help(fence_Crypto)"
def caesar_Crypto(msg):
    '''
    usage:
        caesar_Crypto(msg) ---> to encrypt or decrypt the msg with caesar crypto
    '''
    lowercase = 'abcdefghijklmnopqrstuvwxyz'
    uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    result = []
    offset = 1
    while offset<=26:
        temp = []
        for char in msg:
            if char in lowercase:
                temp.append(chr(97 + (ord(char) - 97 + offset) % 26))
            elif char in uppercase:
                temp.append(chr(65 + (ord(char) - 65 + offset) % 26))
            else:
                temp.append(char)
        string = "".join(temp)
        print "[*]offset %d---------"%offset,string
        result.append(string)
        offset += 1
    #return result

Python 栅栏凯撒的更多相关文章

  1. ctf密码学------密文解码python脚本(凯撒解密)

    题目来源实验吧 分析题意,说是困在栅栏中,所以将字符栅栏解密看看有什么,利用工具CTFcraktools 得到三条密文 然后说是密码是凯撒,在将四栏依次凯撒解码,寻找可能的key,这里很显然,在尝试第 ...

  2. CTF---密码学入门第四题 困在栅栏里的凯撒

    困在栅栏里的凯撒分值:10 来源: 北邮天枢战队 难度:易 参与人数:4531人 Get Flag:2124人 答题人数:2285人 解题通过率:93% 小白发现了一段很6的字符:NlEyQd{sef ...

  3. Python的一个解释凯撒密码的程序

    #!/usr/bin/env python # -*- coding: utf-8 -*- ''' { Title:CaserCode Author:naiquan Type:crypto Detai ...

  4. 凯撒密码移位python

    #!/usr/bin/python'''凯撒密码'''a="gmbhqwertghjkcvbzn"s=[""]*len(a)for j in range(26) ...

  5. Python用户名密码登录系统(MD5加密并存入文件,三次输入错误将被锁定)及对字符串进行凯撒密码加解密操作

    # -*- coding: gb2312 -*- #用户名密码登录系统(MD5加密并存入文件)及对字符串进行凯撒密码加解密操作 #作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.co ...

  6. 实验吧—密码学——WP之 困在栅栏里的凯撒

    首先我们研究题目.栅栏:凯撒 还发现一个数字“6”,那么我们很容易就有一个解题思路 对这段字符进行栅栏解密再进行凯撒解密 我们都知道,栅栏解密的关键就是栏数,根据题目中我们发现的信息,这段字符串是12 ...

  7. 经典问题(c++/python)素数、杨辉三角(金字塔型)、统计单词数、简单计算器、密码安全程度、凯撒密码加密、汉诺塔 (python课设实验实例)-- biaobiao88

    [编写程序,输人一个大于2的自然数,然后输出小于该数字的所有素数组成的列表.]所谓素数,是指除了1和自身之外没有其他因数的自然数,最小的素数是2,后面依次是3.5.7.11.13... c++代码: ...

  8. 实验吧-密码学-Decode、困在栅栏里的凯撒

    Decode 这是一个多重加密. 0x253464253534253435253335253433253661253435253737253464253531253666253738253464253 ...

  9. 【python密码学编程】6.凯撒加密法

    凯撒加密法的迷药是0~25的整数 # _*_ coding:utf-8 _*_ #Caeser Ciper import pyperclip messgae = 'this is my secret ...

随机推荐

  1. 微信公共平台开发4 .net

    之前说了让微信发送给关注我们的粉丝普通的文本信息,下面我们来看看如何发送图文信息,需要注意的是这里说的是,让微信发给我们,而不是我们拍个图片发给微信处理,上传图片在以后的再讲.下面是发送图文消息的函数 ...

  2. Disconnected: No supported authentication methods available (server sent: publickey)

    安装Git客户端后,进行PULL时报如下错误 disconnected no supported authentication methods available(server sent: publi ...

  3. android ButterKnife 解决重复findViewById

    简介: 程序员都是懒惰的,不想写一大堆像下面这样的代码 class ExampleActivity extends Activity { TextView title; TextView subtit ...

  4. Android-Application

    1:Application是什么? Application和Activity,Service一样,是android框架的一个系统组件,当android程序启动时系统会创建一个 application对 ...

  5. linux终端python自动提示

    linux终端python自动提示 很多时候,在linux下编写python时, 都懒得去vi一个新文件,直接就新开一个终端, 进入python命令行模式,然后就可以写一些测试代码. 不过最悲剧的就是 ...

  6. 将spring源码导入到eclipse中

    前置条件: 1. 正确安装jdk,并配置好JAVA_HOME.PATH.(我这里安装的是jdk1.8) 2. 正确安装好eclipse.(我的eclipse版本是: Neon Release (4.6 ...

  7. oracle 表空间使用情况

    --表空间使用情况 SELECT a.tablespace_name "表空间名", round(total/1024/1024,2) "表空间大小", rou ...

  8. iOS之 PJSIP静态库编译(一)

    首先放上pjsip官方网站http://www.pjsip.org/download.htm 下载的时候注意while the .bz2 has LF line-ends and is for Uni ...

  9. Java眼中的XML--文件读取--2 应用SAX方式解析XML

    1.获取一个SAXParserFactory的实例.2.通过factory获取SAXParser实例.  3.新建一个包和继承自DefaultHandler的类.  因为SAX遍历方式,比如便利一个节 ...

  10. 问题解决——使用串口调试助手发送控制字符 协议指令 <ESC>!?

    外行指挥内行的结果就是,你必须按照他想的去做,等做不出来再用自己的办法,而且必须如此. -------------------------------------------------------- ...