首页 > 代码库 > 利用base64库暴力破解base加密
利用base64库暴力破解base加密
做个base加密题python语法除了一堆错误。。。。。
附上py中关于base加密/解码的知识:http://www.open-open.com/lib/view/open1433990719973.html
题目:
enc1.txt中是: R1lZVElOWlVHWTNFQ05SUkdNWlRLTVJXSU0zREdNWlRHVVlUR01CVUlRMkRJTkpSR05DQT09PT0=
首先学了下python下base的知识 一般用base64库下的 base64.b64/32/16decode()/encode()就够用了
看到这个题,第一感觉是base中解密有没有明显特征,查了一圈又实验了几个发现base64和32加密后结果应该不能分辨,但长度都是4的整数倍,结尾有时会用补=,16可能可辨,数字偏多而且结尾不出现=。
所以直接识别是不行了,那就只能暴力破解了:
用py过程中出了些问题 例如缩进问题,空格和Tab不能混用,一直以为只要相等就没事,其实不行;文件名不能用python预留的关键词,例如base64这个词就不行。
代码如下
import base64 text=‘R1lZVElOWlVHWTNFQ05SUkdNWlRLTVJXSU0zREdNWlRHVVlUR01CVUlRMkRJTkpSR05DQT09PT0=‘ for i in range(3): try: if i==0: text=base64.b16decode(text) if i==1: text=base64.b32decode(text) if i==2: text=base64.b64decode(text) except: continue for j in range(3): try: if j==0: text=base64.b16decode(text) if j==1: text=base64.b32decode(text) if j==2: text=base64.b64decode(text) except: continue for k in range(3): try: if k==0: text=base64.b16decode(text) if k==1: text=base64.b32decode(text) if k==2: text=base64.b64decode(text) except:
continue print text
复制过来的代码缩进可能有些问题
思路就是三层for循环3种base全都试一遍
开始没有用try/except 结果提示如果不是base16加密,使用base16解密就会出错,于是用try+continue即可解决
结果如下:
利用base64库暴力破解base加密
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。