码迷,mamicode.com
首页 > 其他好文 > 详细

对文件异或(xor)解密的方法

时间:2017-06-22 21:52:42      阅读:362      评论:0      收藏:0      [点我收藏+]

标签:例子   下载   logs   方法   十进制   实验   简单的   技术分享   http   

这里对异或做下简单的解释,异或是一种2进制的运算,这里举个简单的例子

1^1=0

1^0=1

两者相同则为0,不同则为1

a的二进制是01100001

b的二进制是01100010

逐位比较得到00000011,然后转为十进制就是3,则a^b=3

下面以实验吧的一道题目为例

下载压缩包得到两个txt文件,其中一个是密文,另外一个是明文,根据题目提示可以想到是文件异或

密文和明文的内容如下

技术分享

所以我们对它们进行异或

python代码如下

# -*- coding: cp936 -*-
a=open(‘密文.txt‘,‘r‘).read()
b=open(‘明文.txt‘,‘r‘).read()
xor=‘‘
for i in range(0,len(a)):
    aa = ord(list(a)[i])^ord(list(b)[i])
    xor += chr(aa)
print xor
我们跑一下得到:flag:nctf{xor_xor_xor_biubiubiu}

对文件异或(xor)解密的方法

标签:例子   下载   logs   方法   十进制   实验   简单的   技术分享   http   

原文地址:http://www.cnblogs.com/Byqiyou/p/7067172.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!