buuctf-crypto

借助buuctf密码题回顾一下基本的密码算法

一、MD5

1、原理

密码散列函数,产生一个128位的散列值,具体加工不赘述

2、识别

散列值128位,16进制的数长度为32,2进制的数长度为128位

二、url编码

1、原理

url编码是一种浏览器用来打包表单输入的格式。浏览器从表单中获取所有的name和其中的值 ,将它们以name/value参数编码(移去那些不能传送的字符,将数据排行等等)作为URL的一部分或者分离地发给服务器。url编码就是一个字符ascii码的十六进制,不过稍微有些变动,需要在前面加上“%”。比如“”,它的ascii码是92,92的十六进制是5c,所以“”的url编码就是%5c。

2、识别

%xx%xx%xx

3、题目

三、一眼就解密/base64

1、原理

base64将三个字符转换为四个字符

http://www.ruanyifeng.com/blog/2008/06/base64.html

2、识别

密文包含一些符号,例如=+/

3、题目

四、看我回旋踢

1、原理

rot13

检查字元字母顺序并取代它在13位之后的对应字母,有需要超过时则重新绕回26英文字母开头即可

2、识别

synt是flag向后移13位替换的

3、题目

五、摩斯

1、原理

2、识别

声音 or 点杠点

3、题目

六、password

1、原理

社工

2、识别


3、题目

七、变异凯撒

1、原理

替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。

2、识别

看ascii码

3、题目

a:97   ->  f:102       +5

f:102  ->  l:108       +6

Z:90   -> a:97         +7

_:95   -> g:103       +8

猜测移的位数递增

1 a='afZ_r9VYfScOeO_UL^RWUc'
2 i = 5
3 d = ""
4 for b in a:
5     c = ord(b) + i
6     i = i + 1
7     d = d + chr(c)
8     print(d)
View Code

八、quoted-printable

1、原理

任何一个8位的字节值可编码为3个字符:一个等号“=”后跟随两个十六进制数字(0–9或A–F)表示该字节的数值。为了满足电子邮件中不能直接使用非ASCII码字符的规定,用于ACSII文本中夹杂少量非ASCII码字符的情况

2、识别

=xx=xx      xx(0–9或A–F

3、题目

 

原文地址:https://www.cnblogs.com/dx-yll/p/15157156.html