导航:首页 > 编程语言 > xor加密算法代码

xor加密算法代码

发布时间:2024-10-05 05:02:18

『壹』 XOR算法加密的文件可以破解吗

xor有一个特性
1,a^key = b, a与key异或得到b
2,b^key =a,b与key再次异或又得到了a
所以能够破解的关键在于别人能不能获得你的key

『贰』 C语言 文件异或加密

异或加密是所有加密中最容易实施且代码量相对精简的一种加密方式,其原理为任意数据被同一个值(key)两次异或后,值不变。

这种特性,使得异或加密算法的加解密流程是完全相同的,也就是说加解密可以用同一个函数实现。


一、算法思路。

依次读入文件字符,并用key值对其异或,结果输入到目标文件中。

二、算法描述。

1 打开源文件及目标文件。

2 获取密钥值(key)。

3 读入一个字符。

4 对其进行异或计算。

5 结果写入目标文件。

6 重复3-5直到文件结尾。

7 关闭文件。

三、代码实现。

为使代码简洁易懂,输入文件设定为in.txt, 输出文件设定为out.txt, key值设定为0x5C。

假定所有文件及目录可读写。

#include<stdio.h>
#defineIN"in.txt"
#defineOUT"out.txt"
#defineKEY0x5C
voidscrambler(constchar*in,constchar*out,unsignedcharkey)
{
FILE*i,*o;
intc;

i=fopen(in,"rb");
o=fopen(out,"wb");//打开文件,因为假定可读写,所以对是否成功不做判断
while((c=fgetc(i))!=EOF)//读入字符直到文件结尾
{
c^=key;//执行异或加密或解密
fputc(c,o);//写入文件
}

fclose(i);
fclose(o);
}

intmain()
{
scrambler(IN,OUT,KEY);
return0;
}

但是异或加密也是有缺陷的。最大的缺陷是加密操作是二进制层面的,获取到的加密文件大部分将是不可读的乱码。这也是为什么在打开文件的时候要以二进制方式的原因。

鉴于此,在此不便给出测试样例及输入输出,可自行调试。

阅读全文

与xor加密算法代码相关的资料

热点内容
安全的网购优惠券app有哪些 浏览:834
五轴联动数控编程如何学 浏览:931
手机qq聊天图片看不了 浏览:408
虚拟币app哪个好 浏览:413
电脑桌面创建文件夹怎么打不开 浏览:825
天天爱消除刷心辅助工具 浏览:177
excel表如何查看文件大小 浏览:775
obd文件 浏览:288
文件打包为什么还附带电脑的内容 浏览:15
刺客信条1java手机下载 浏览:78
java编程思想看不太懂 浏览:958
revit加载族在哪个文件夹里 浏览:712
表单制作用什么数据库 浏览:991
php输出json数据 浏览:629
传世充值文件是哪个 浏览:989
苹果7关闭自动备份文件 浏览:404
cad怎么统一打印所有文件 浏览:958
华为账号如何擦除数据 浏览:927
阳光守护是哪个文件夹 浏览:982
js选项卡切换带左右焦点切换 浏览:106

友情链接