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

这里对异或做下简单的解释,异或是一种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}

时间: 2024-10-06 07:15:21

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

芯片加密与芯片解密技术方法的发展史!

芯片加密与芯片解密技术方法的发展史! IC集成电路在早期,除法律和经济外,几乎没有保护措施来防止复制这些设备.例如:ROM 是用低成本的掩模技术制造的,可用EPROM 轻易复制,但后者通常要贵 3-10 倍或更多.或定制掩模ROM,那就需要很长的时间和很大的投资.工业控制器的硬件安全措施与嵌入式系统同时开始发展.40年前的可编程工业控制器是由分离的部件如 CPU,ROM,RAM,I/O 缓冲器,串口和其他通信与控制接口组成的.通用的嵌入式控制器.PCB 上的每个部件很容易辨别且极易被复制.如下图

神级程序员带来:用python有证书的加密解密实现方法!

本文实例讲述了python有证书的加密解密实现方法.分享给大家供大家参考.具体实现方法如下: 最近在做python的加解密工作,同时加完密的串能在php上能解出来,网上也找了一些靠谱的资料,刚好也有时间我就总结了一下python在加密与解密这块的代码,今后可能还能用的上.相对于php而言python这块加解密组件较多的,分别是: 一. RSA标准方式生成的证书 1.加密解密.加密签名.验证加密签名 代码如下: #encoding: utf8 import os import M2Crypto #

后缀phobos勒索病毒解密成功解密工具 方法百分百恢复成功

后缀phobos勒索病毒解密成功解密工具 方法百分百恢复成功目前可以成功解密的勒索病毒文件后缀有:phobos/ETH/MTP/MG/AOL/ADOBE/ITLOCK/X3MGandcrabV5..0.4/GandcrabV5.1/GandcrabV5.2/GandcrabV5.3后缀Phobos勒索病毒的分发PHOBOS勒索病毒是一种破坏性的加密病毒,最近在针对全球计算机用户的***活动中发布.威胁行为者可能正在利用广泛使用的分发策略来感染计算机系统. **PHOBOS勒索病毒背后的恶意行为者

Mac 中显示资源库(Library)文件夹目录的几种方法

Mac 中显示资源库(Library)文件夹目录的几种方法 Mac中Library目录在10.6.7系统之后默认隐藏的,要想找到此文件夹有如下几种方法: 1. 用命令可以使其显示: 在终端中执行命令: chflags nohidden ~/Library 可显示资源库文件夹 如想隐藏,可以在终端中执行命令: chflags hidden ~/Library 隐藏 2. 在Finder菜单中的偏好设置中设置 在Finder菜单中的偏好设置中选择边栏,勾选上设备中的硬盘. 再打开Finder,Fin

PHP中获取文件扩展名的N种方法

PHP中获取文件扩展名的N种方法 从网上收罗的,基本上就以下这几种方式: 第1种方法: function get_extension($file) { substr(strrchr($file, '.'), 1); } 第2种方法: function get_extension($file) { return substr($file, strrpos($file, '.')+1); } 第3种方法: function get_extension($file) { return end(expl

ubuntu 中用vim打开txt等文件中文显示乱码的解决方法  

今晚用ubuntu 12.04 的vim编辑网页代码时,发现上面的中文显示乱码.这个html文件是我之前用gedit编辑的,在gedit里面显示正常,可是在vim下显示就是乱码了. 怎么解决ubuntu中vim显示中文乱码的问题呢? 首先,添加中文字符编码: sudo gedit /var/lib/locales/supported.d/local 在打开的文件中添加下面的中文字符集 zh_CN.GBK GBK zh_CN.GB2312 GB2312 zh_CN.GB18030 GB18030

asp.net中实现MD5加密、解密的方法

这个MD5加密.解密的方法会使用即可. 使用时的代码备忘:Response.Write(FormsAuthentication.HashPasswordForStoringInConfigFile("要加密的字符串", "MD5")); 以下是加密.解密的代码部分: /*用法 protected void Page_Load(object sender, EventArgs e) { //加密 this.Title = CEncrypt.DesEncrypt(&qu

cocos2d-x3.2下获取文件夹下所有文件名的方法

这里提供一个函数获取文件夹下所有文件名的方法,直接上代码了. 原文地址:http://blog.csdn.net/qqmcy/article/details/36184733 // // VisibleRect.cpp // Test890 // // Created by 杜甲 on 14-4-28. // // std::vector<std::string> VisibleRect::getFilePathAtVec(std::string filePath) { std::vector

C/C++:多个.cpp文件包含同一个.h头文件定义方法

本文解决multiple definition of `XX'的错误.[出于反爬虫的目的,你不是在http://blog.csdn.net/zhanh1218上看到的,肯定不是最新最全的.] 关于头文件的定义中,请一定加上以下代码(此为头文件保护符): <span style="font-size:14px;"><span style="font-size:12px;">#ifndef PERSON_H_ #define PERSON_H_