| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 906 人关注过本帖
标题:[求助]新手第一问,这个应该怎么做
只看楼主 加入收藏
账号已被封
Rank: 1
等 级:新手上路
帖 子:234
专家分:0
注 册:2006-9-19
收藏
 问题点数:0 回复次数:10 
[求助]新手第一问,这个应该怎么做

一篇英文文章 在e:\en.txt
其内容为
this is a book.

我想采用异或255加密

因为我发现

比如说 a 的ascii码是97
二进制就是01100001 用它异或255
01100001
11111111

=10011110

上面是我想的加密过程

解密也一样
10011110
11111111
=01100001

这样就得到原来的了

请你们帮我用C的文件指针把这个过程完成一下

加密后的结果保存到e:\mima.txt

下面是我试写的

#include "stdio.h"

void main()
{char ch;
FILE *fp,*fm; /*fp用来标记源文件,fm用来标记加(解)密文件*/
fp=fopen("e:\\en.txt","rt");
fm=fopen("e:\\mima.txt","wt+");

while ((ch=fgetc(fp))!=EOF)
{
ch=ch^255; /*用原来的字符异或255来加解密*/
fputc(ch,fm); /*把加密后的字符保存到文件指针fm所指向的文件*/
}

fclose(fp);
fclose(fm);

}


我边看书找资料边做没想到自己也能完成.

试了下能加密解密.

不过请C区的朋友们说说这个程序还应该注意什么,有什么缺陷


还有什么加密的好办法呢?

[此贴子已经被作者于2006-9-19 19:44:08编辑过]

搜索更多相关主题的帖子: 二进制 include 英文文章 加密 
2006-09-19 19:41
账号已被封
Rank: 1
等 级:新手上路
帖 子:234
专家分:0
注 册:2006-9-19
收藏
得分:0 

我试了下,还支持中文,呵呵

上面是原来的文本.


加密后的文本.



解密后跟原文本一样.

呵呵,


捅死你个汉奸!!!!1
2006-09-19 19:58
十一月天
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:10
帖 子:3030
专家分:0
注 册:2006-4-19
收藏
得分:0 
你就不能换点别的词加密解密,知道也不告诉你啊

当头晕的时候我终于明白了什么叫爱情。
2006-09-19 20:03
cnrainboy
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2006-8-27
收藏
得分:0 
能改点好听的词吗??
2006-09-19 20:06
C之Itachi
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2006-7-16
收藏
得分:0 
我也是新手,我怎么不会这个啊~~

2006-09-19 20:08
账号已被封
Rank: 1
等 级:新手上路
帖 子:234
专家分:0
注 册:2006-9-19
收藏
得分:0 
以下是引用cnrainboy在2006-9-19 20:06:24的发言:
能改点好听的词吗??

对不起,心情不好所以才用词没注意
之所以想到加密文本文件,是因为我以前写了一篇留级保证书

发到了灌水区,大家都看到了.

很不好意思(我很害羞)

所以就想把内容加密后再发
这样至少有点保障(保护俺的隐私)呀

自己用时用程序再解密一下就行了


唉,留级生,真不舒服

[此贴子已经被作者于2006-9-19 21:23:45编辑过]


捅死你个汉奸!!!!1
2006-09-19 20:14
账号已被封
Rank: 1
等 级:新手上路
帖 子:234
专家分:0
注 册:2006-9-19
收藏
得分:0 

#include "stdio.h"

int main()
{char ch,source[40],aim[40];
FILE *fp,*fm; /*fp用来标记源文件,fm用来标记加(解)密文件*/
clrscr();
puts("qing shu ru jia\\jie mi wen jian de lu jin.\nru: c:\\en.txt");
/*请输入加\解密文件的路径:*/
gets(source);
puts("qing shu ru jia\\jie mi yi hou de wen jian de lu jin:\nru: c:\\mima.txt");
/*请输入加\解密后的文件的路径:*/
gets(aim); /*gets不支持\转义自符*/

fp=fopen(source,"rt");
fm=fopen(aim,"wt+");

if (fp==NULL || fm==NULL)
{ printf("\nCannot open file strike any key exit!");
getch();
exit(1);
}

while ((ch=fgetc(fp))!=EOF)
{
ch=ch^255; /*用原来的字符异或255来加解密*/
fputc(ch,fm);
}

fclose(fp);
fclose(fm);
getch();

}



上面是修改后的文件,支持用户输入路径.

[此贴子已经被作者于2006-9-20 21:02:16编辑过]


捅死你个汉奸!!!!1
2006-09-19 20:39
账号已被封
Rank: 1
等 级:新手上路
帖 子:234
专家分:0
注 册:2006-9-19
收藏
得分:0 

灌就一个字.话不说2次

捅死你个汉奸!!!!1
2006-09-19 21:51
cdmalcl
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:4091
专家分:524
注 册:2005-9-23
收藏
得分:0 
恭喜LZ重新做人拉
2006-09-19 21:58
jiang520
Rank: 1
等 级:新手上路
帖 子:207
专家分:0
注 册:2006-9-13
收藏
得分:0 
以下是引用cdmalcl在2006-9-19 21:58:27的发言:
恭喜LZ重新做人拉


努力,努力吧,未来的天空,那一片湛蓝总会属于我的~
2006-10-20 10:38
快速回复:[求助]新手第一问,这个应该怎么做
数据加载中...
 
   



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

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