ctf常见的加解密

经典的凯撒密码

凯撒密码的替换方法是通过排列明文和密文字母表,密文字母表示通过将明文字母表向左或向右移动-一个固定数目的位置。例如,当偏移量是左移3的时候(解密时的密钥就是3) :
    明文字母表: ABCDEFGHIJKLMNOPQRSTUVWXYZ
    密文字母表: DEFGHIKLMNOPQRSTUVWXYZABC
使用时,加密者查找明文字母表中需要加密的消息中的每一一个字母所在位置, 并且写下密文字母表中对应的字母。需要解密的人则根据事先已知的密钥反过来操作,得到原来的明文。

编码示例:

    字符编码: THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

    凯撒密码: WKH TXLFN EURZQ IRA MXPSV RYHU WKH ODCB GRJ

Morse密码

摩斯密码的特点:

    1、只有 . 和 - ;

    2、最多6位;

    3、也可以用0 和 1表示;

摩尔密码加密与解密.jpg

编码示例:

    字符编码:THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

    Morse密码:- .... . --.- ..- .. -.-. -.- -... .-. --- .-- -. ..-. --- -..- .--- ..- -- .--. ... --- ...- . .-. - .... . .-.. .- --.. -.-- -.. --- --.

    编码解码地址:http://www.bejson.com/enc/morse/

Ascii编码

标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号,以及在美式英语中使用的特殊控制字符。常见的有:
1、32~126(共95个)是字符(32是空格),
2、48~57为0~9十个阿拉伯数字,
3、65~90为A~Z大写英文字母,
4、97~122为a~z小写英文字母,
常见ASCII码的大小规则:0~9<A~Z<a~z
1、数字比字母要小。如 “7”<“F”;
2、数字0比数字9要小,并按0到9顺序递增。如 “3”<“8” ;
3、字母A比字母Z要小,并按A到Z顺序递增。如“A”<“Z” ;
4、同个字母的大写字母比小写字母要小32。如“A”<“a” 。
几个常见字母的ASCII码大小: “A”为65;“a”为97;“0”为 48

ASCII.jpg

Url编码

其实url编码就是一个字符ascii码的十六进制,不过稍微有些变动,需要在前面加上“%”。比如“\”,它的ascii码是92,92的十六进制是5c,所以“\”的url编码就是%5c
较常见的有:
'    %27
=    %3d

编码示例:

    字符编码:THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

    Url编码:%54%48%45%20%51%55%49%43%4B%20%42%52%4F%57%4E%20%46%4F%58%20%4A%55%4D%50%53%20%4F%56%45%52%20%54%48%45%20%4C%41%5A%59%20%44%4F%47

    编码解码地址:http://www.bejson.com/enc/urlencode/

Unicode编码

编码示例:

    字符编码:THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

    Unicode编码:\u0054\u0048\u0045\u0020\u0051\u0055\u0049\u0043\u004b\u0020\u0042\u0052\u004f\u0057\u004e\u0020\u0046\u004f\u0058\u0020\u004a\u0055\u004d\u0050\u0053\u0020\u004f\u0056\u0045\u0052\u0020\u0054\u0048\u0045\u0020\u004c\u0041\u005a\u0059\u0020\u0044\u004f\u0047

    编码解码地址:http://tool.chinaz.com/tools/unicode.aspx

Uuencode编码

UUencode是一种二进制到文字的编码,最早在unix邮件系统中使用,全称: Unix-to-Unix encoding,UUencode将输入文本以每三个字节为单位进行编码,如果最后剩下的资料少于三个字节,不够的部份用零补齐。三个字节共有24个Bit,以.6-bit为单位分为4个组,每个组以十进制来表示所出现的字上32,所产生的结果刚好落在ASCII字符集中可打印字符(32-空...95-底线)的范围之中。

编码示例:

    字符编码: THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

    Uuencode编码: M5& A E('%U:6-K(&)R;W= N(&90> "!J=6UP<R!O= F5R('1H92!L87IY(&1O9PH*

    编码解码地址:http://web.chacuo.net/charsetuuencode

MD5编码

MD5编码由0~9,a~f组成,
MD5的输入输出如下
输入:任意长的消息,512比特长的分组。
输出: 160比特的消息摘要。
此外,有时候我们获得到的md5是16位的,其实那16位是32位md5的长度,是从32位md5值来的。是将32位md5去掉前八位,去掉后八位得到的。
一般来说,我们可以通过函数的初始化来判断是不是MD5函数。一般来说,如果一个函数有如下四个初始化的变量,可以猜测该函数为MD5函数,因为这是MD5函数的初始化IV。
0x67452301,0XEFCDAB89,0x98BADCFE, 0x10325476

编码示例:

    字符编码:THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

    MD5编码:ad2c6db16220e303b9dfe0334985ed30

    编码解码地址:https://www.somd5.com/

Base编码

Base64:包含大写字母(A-Z)_ ,小写字母(a-z),数字(0-9) 以及+/;
Base32:而Base32中只有大写字母(A-Z) 和数字234567;
Base16:而Base16就是1 6进制,他的范围是数字(0-9), 字母(ABCDEF);

编码示例:

    字符编码:THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

    Base64编码:VEhFIFFVSUNLIEJST1dOIEZPWCBKVU1QUyBPVkVSIFRIRSBMQVpZIERPRw==

    Base32编码:KREEKICRKVEUGSZAIJJE6V2OEBDE6WBAJJKU2UCTEBHVMRKSEBKEQRJAJRAVUWJAIRHUO===

    Base16编码:54484520515549434B2042524F574E20464F58204A554D5053204F56455220544845204C415A5920444F47

    编码解码地址:https://www.qqxiuzi.cn/bianma/base64.htm

CTF中那些脑洞大开的编码和加密:https://www.tuicool.com/articles/2E3INnm

---------------------------------------

猜你喜欢

转载自blog.csdn.net/w1304099880/article/details/104064208