关闭

C语言 异或加密

标签: c语言异或加密
12人阅读 评论(0) 收藏 举报
分类:

文件加密解密
将文件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);
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:137次
    • 积分:72
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条
    文章存档