C语言 异或加密

原创 2017年08月11日 21:39:41

文件加密解密
将文件file1中的每一字符与0x6a异或变成另一个字符送屏幕显示,同时存入文件file2中。打开加密的file2输出解密内容。

file1文件内容是:This is a book.
路径为:d:\file1.txt
d:\file2.txt

(请从命令行输入)
特别提示:
1.异或的C语言描述方式
a=a^b 书P330(a和b异或后值赋给a)
2.a和b异或的结果再与b相异或则a还原。
3.0x6a是16进制,可直接赋值给int b=0x6a;然后用b与a进行异或。

常见的算法如下:包含stdio头文件
void main()
{
FILE *in, *out;
char *in_file, *out_file;
char ch;
printf(” input in file name:\n”);
gets(in_file);
printf(” input out file name:\n”);
gets(out_file);
in = fopen( in_file, “rb”); /以二进制只读方式打开/
out = fopen( out_file, “wb”);
if( in == NULL || out == NULL ) exit(1);
ch = fgetc(in);
while( ch != -1 ) /若文件没有结束/
{
ch = ch^1; /异或运算/
fputc( ch, out ); /将异或结果放入输出文件中/
ch = fgetc(in);
}
fclose(in);
fclose(out);
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

简单异或加密(C语言)

/**  * 加密(解密), 源数据必须是4字节对齐的数据  * src 源数据,dst 加密(解密)后的数据,size 源数据的大小,factor 加密因子  */ BOOL Encrypt...
  • zhongshansubor
  • zhongshansubor
  • 2011年08月17日 16:44
  • 2157

c语言^异或操作符进行加密解密

其运算是二进制按位异或,比如 a=9(二进制1001),b=12(二进制1100),那么 a ^ b 的结果是5(二进制0101)。 /** * 加密/解密文件 * * @param sou...
  • themagickeyjianan
  • themagickeyjianan
  • 2016年09月11日 15:30
  • 1450

C语言:用异或^实现数据加密

“^”的意思是:当两个操作数对应位不相同时结果的相应位即为一,否则为零。当然,这里的对应位是指二进制的位。 1 ^ 1 = 0 1 ^ 0 = 1 0 ^ 1 = 1 0 ^ 0 = 0 用“^”...
  • u013485792
  • u013485792
  • 2016年08月04日 19:50
  • 2547

异或加密与解密(C语言)注释

void main(void) { int src=54; int pwd=32; int dst=0; dst=src^pwd; printf(" Encryption: %d\n",d...
  • baijinglei12
  • baijinglei12
  • 2013年07月03日 15:39
  • 1218

C 使用异或(xor)加密/解密文件

C 使用异或(XOR)加密/解密文件 之前写过一篇《php 使用异或(XOR)加密/解密文件》,但php执行的速度很慢,因此这次使用C重写,速度有很大的提高。...
  • fdipzone
  • fdipzone
  • 2014年03月05日 01:33
  • 28930

C语言中位运算异或“∧”的作用

1.概念异或运算符”∧”也称XOR运算符。它的规则是若参加运算的两个二进位同号,则结果为0(假);异号则为1(真)。即 0∧0=0,0∧1=1, 1^0=1,1∧1=0。 运算 说明 0^0...
  • wwt18811707971
  • wwt18811707971
  • 2017年10月20日 08:57
  • 162

【C语言】对字母加密与解密(简易)

对字母加密与解密(简易)
  • weixin_38239856
  • weixin_38239856
  • 2017年08月06日 18:39
  • 563

C语言异或运算

 C语言异或运算 位运算符家族中,最常用的,某过于异或运算符。 异或运算符是指: 参与运算的两个值,如果两个相应位相同,则结果为0,否则为1。即:0^0=0, 1^0=1,...
  • broadCE
  • broadCE
  • 2016年07月30日 10:32
  • 14531

C语言异或操作的妙用

如果想要交换2个变量,一般的做法是引入第三个变量,   例如,   [cpp] view plaincopy temp = a;   a = b;   b= temp;...
  • shangyaowei
  • shangyaowei
  • 2013年12月19日 20:47
  • 1672

C++异或加密\解密文本文件(编译+链接+批处理)

只是简单的循环异或加密文件,以异或的特性,对加密后的文件再进行一次异或操作以后,又能将文件还原。 参考并整理了一下网络上的资源,现将代码备份如下。 ------------------------...
  • xuanshilee
  • xuanshilee
  • 2016年12月08日 14:42
  • 884
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C语言 异或加密
举报原因:
原因补充:

(最多只允许输入30个字)