转眼就一月十号了,本来今天不想更的,(因为我懒)是因为明天要考python,好像还不止
        
但是呢,发现BUUCTF的密码学模块刚好可以用到py的脚本,那就当时复习一下吧!!

这里就要介绍BUUCTF了,这里有CTF的各种题型,供我们练手哦 !! ~~
1.Base64编码

这个一眼就解密,嘶~~~~,感觉我盯好一会也没看出来,不对再看多一眼
有个 =号,就能立刻想起base家族啦,于是就去找base64解一下码

就出来啦,First flag 😍😍😍😍
flag{THE_FLAG_OF_THIS_STRING}2.MD5
这题直接告诉我们是MD5解密,那就直接去找一个md5的解密就好了~!!!

解出的flag如下 :
flag{admin1}
3.URL编码
像这题就没什么好说的了,就是直接url编码,找个工具解码就行

flag{and 1=1}4.凯撒密码
这题我们可以拿到如下题目,想到刚好提交的模式就是以flag{}提交
synt{5pq1004q-86n5-46q8-o720-oro5on0417r1}而且,!!!!!,它是不是没有加密{},什么密码会不加密{}???,不就是大名鼎鼎的凯撒密码嘛!!
知道凯撒密码之后,我们就要判断它往后推了几位了 f ->s 可以算出来是13位 那复原的数就是-13

成功又拿下一个flag
flag{5cd1004d-86a5-46d8-b720-beb5ba0417e1}5.莫斯密码
看到这种题目,有什么想法??

想啥,不就是莫斯密码呗
 BYD还挺浪漫🤣🤣🤣
  BYD还挺浪漫🤣🤣🤣
flag{ILOVEYOU}6.?????
当时看到这个,我也没思路,但是看到他的key的格式,再去数了一下x ,刚好有10个,那不就是组合吗 19900315张三 or 张三19900315,但是提交都是不对的,于是就试了一下首字母

flag{zs19900315}
7. ASCII码
这题算的上是一个很好的题目了,很锻炼思维,还很靠积累

这题虽然说是”变异凯撒“但是怎么变,还是要自己去找规律
这时候就能看到一个 ^,反应过来,这不就是ASCII编码吗,而且ascii会把{也编码,于是就兴奋地去凯撒解密,就拿5去解码
 发现好像不太对???
发现好像不太对???
但是,第一个字母是F证明了还没有完全错,再观察 f->l 相差6 Z->a 相差7 看出来啦吧,他是按照ascii码递增地规律的!!那就写个脚本吧(用python)
a="afZ_r9VYfScOeO_UL^RWUc"
auto_increase=5
for sample in a:
    print("%s"%(chr(ord(sample)+auto_increase)),end="")
    auto_increase+=1这样就能解出flag了,有没有感受它的趣味,hhhh
flag{Caesar_variation}8.Quoted-printable
这个就是一种加密方式,丢去工具就好不多说
flag{那你也很棒哦} ///hhha 有点绷不住了
                                
9.Rabbit编码
这个也是一种加密方式,也不多说
flag{Cute_Rabbit}
10.栅栏密码
看题 felhaagv{ewtehtehfilnakgw} 隐隐约约能看见flag的字眼 但是参杂了一些其他的字眼,将他们剔除出来就能找到规律了
   按照一个不拿出来,下一个拿出来的规律,再进行拼接
  按照一个不拿出来,下一个拿出来的规律,再进行拼接
flag{wethinkwehavetheflag}  //这就是大名鼎鼎的栅栏密码11.RSA!!!!
开始之前想让我啰嗦两句,rsa作为CTF中最常见的题目,SSH的依靠算法,其可谓是老朋友了,这题的rsa只能算是一个基础

rsa的计算原理我就不多说了,这里我们之直接提供他的计算过程 
就是(17*d)%(473398607160*4511490)=1,如果你用py进行普通的跑,就会发现根本跑不出来因为数据太大了!!!!!
所以就要用到gmpy2 这个库,至原理是什么,不用管,只要知道invert可以求逆模(就算很大的数!!!!!!!)

flag{125631357777427553}当然了,rsa还不止这些,还有对信息的幂次方加密的,到时候我们遇到再讲(不是我懒)
12.MD5的py文件补全
 一打开就是一堆报错,先把最基本的补全一下,然后就会发现这个报错
一打开就是一堆报错,先把最基本的补全一下,然后就会发现这个报错

查找发现原来要先对其编码
m.update("'TASC'+chr(i)+'O3RJMV'+chr(j)+'WDJKX'+chr(k)+'ZM'".encode("UTF-8"))但是!!!!编码完之后????? 我flag呢????

但是我们再来细看一下 'TASC'+chr(i)+'O3RJMV'......虽然经过编码不报错了,但是如果直接再他们外面加上”“ 是不是chr(i)就根本没有起到字符转换的功能, 所以bug就在这里!!!
 这样,就能让 chr(i,j,k)发挥作用之后在进行编码了
这样,就能让 chr(i,j,k)发挥作用之后在进行编码了
flag{e9032994dabac08080091151380478a2}这样就能成功拿到flag了
以上就是BUUCTF的密码学的前十二关了,做的时候我脑子里只有一个想法”我flag呢???“
hhh,写完这篇还要去复习😭😭不然明天真得挂科wuwuuwuu~~~~
                  保命Flag{我不想挂科}
           保命Flag{我不想挂科}                





![【算法每日一练]-动态规划 (保姆级教程 篇15) #纸带 #围栏木桩 #四柱河内塔](https://img-blog.csdnimg.cn/direct/1cea3486216242abb2b62aff231340d4.png)











![[机缘参悟-122] :IT人如何认识自己的?自省、面试、考核、咨询?](https://img-blog.csdnimg.cn/direct/e9d6f01a396a485e83648700c9bf201e.png)

