| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 742 人关注过本帖
标题:文件读取的一道题目请高手指教!
只看楼主 加入收藏
Richard_G
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-1-8
收藏
 问题点数:0 回复次数:2 
文件读取的一道题目请高手指教!
编写一个程序对来自文本文件的一串字符进行按照某种加密规则进行加密工作,再输出到这个文件中,再编写一个解密程序对已经加密的文件进行解密工作,使这个文件还原到原来的面目.
搜索更多相关主题的帖子: 文件 指教 
2005-01-08 09:56
三少爷
Rank: 1
等 级:新手上路
帖 子:192
专家分:0
注 册:2004-4-29
收藏
得分:0 

#include <stdio.h> #include <stdlib.h>

int main(int argc,char *argv[]) { FILE *fp1,*fp2; char c,ch; long j; if(argc != 3) exit(0); fp1 = fopen(argv[1],"rb");/*打开文件供读*/ fp2 = fopen(argv[2],"wb");/*打开文件供写*/ if((fp1 == NULL)||(fp2 == NULL)) { printf("cannot open file\n"); exit(1); } printf("Pls input your password:"); scanf("%i",&j); srand(j); /*初始化随机数发生器*/ ch = fgetc(fp1); /*ch为文件字符流*/ while(!feof(fp1)) { c = rand(); /*c为随机字符流*/ ch = ch ^ c; /*异或加密*/ fputc(ch,fp2); ch = fgetc(fp1); } fclose(fp1); fclose(fp2); return 0; }

程序操作流程如下: Microsoft(R) Windows 98 (C)Copyright Microsoft Corp 1981-1999.

C:\WINDOWS>cd desktop

C:\WINDOWS\Desktop>bb.exe in.txt out.txt Pls input your password:123456

C:\WINDOWS\Desktop>bb.exe out.txt in.txt Pls input your password:123456

原理: 文件的加密解密进行的都是异或运算 解密的过程是加密的逆操作(见流程和如下公式) (A xor B) xor B = A


2005-01-08 10:40
Richard_G
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-1-8
收藏
得分:0 
谢谢帮忙!太感谢了!

2005-01-08 13:43
快速回复:文件读取的一道题目请高手指教!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025303 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved