导航:首页 > 文档加密 > fopen能打开加密文件吗

fopen能打开加密文件吗

发布时间:2022-07-09 11:02:56

① 如何实现txt文档,加密文档里面指定的文字,加密后可以打开但是看见的是乱码的

C语言,通过fopen打开文件,通过对文件中的字符进行加密算法,fclose。就ok了。

② 请问fopen能打开什么格式的文件

fopen可以用文本模式或二进制模式打开文件。
word和jpg文件有自己特殊的格式,理论上讲如果了解其文件存储格式的话,可以用二进制方式打开、进行读写;
但实际上都比较复杂,并且有现成的组件可以使用,没必要自己写。

③ 用C语言给文件加密解密,详细简单的代码;;;;用c打开一txt文件,怎么写【新手初学】

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
void dofile(char *in_fname,char *pwd,char out_file)
{
FILE *fp1,*fp2;
register char ch;
int j=0;
int j0=0;
fp1=fopen(in_fname,"rb");
if(fp1==NULL)
{
printf("cannot open in-file.\n");
exit(1); //如果不能打开要加密的文件,便退出程序、
}
fp2=fopen(out_file,"wb");
if(fp2==NULL)
{
printf("cannot open or create out-file.\n");
exit(1); //如果不能建立加密后的文件,便退出
}
while(pwd[++j0]);
ch=fgetc(fp1); //加密算法开始
while(!feof(fp1))
{
fputc(ch^pwd[j>j0?j=0:j++],fp2); //异或后写入fp2文件
ch=fgetc(fp1);
}
fclose(fp1);
fclose(fp2);
}
void main(int argc,char *argv[])
{
char in_fname[30];
char out_fname[30];
char pwd[8];
if(argc!=4)
{
printf("\nIn-fname:\n");
gets(in_fname);
printf("Password:\n");
gets(pwd);
printf("Out-file:\n");
gets(out_fname);
dofile(in_fname,pwd,out_fname);
}
else
{
strcpy(in_fname,argv[1]);
strcpy(pwd,argv[2]);
strcpy(out_fname,argv[3]);
dofile(in_fname,pwd,out_fname);
}
}

④ C语言 文件加密解密

文件中啊!(C)
首先file1中存一些信息(直接在文件中手写或者通过源程序从屏幕中读取)
大致过程{
fp1 = fopen("file1", "w");//write
scanf("%c", &ch1);//用while循环多次写入
fprintf(fp1, "%c", ch1);
}
第二:从文件中读取内容,和0x6a异或

fp2 = fopen ("file1", "r")//read
fp3 = fopen ("file2", "w")//write

fscanf(fp2, "%c", &ch2);//用while循环多次读出
异或操作,结果赋给ch3;
printf("%c", ch );//屏幕显示
fprintf(fp3, "%c", ch3);//写入file2中

第三:读出file2的内容
fp3 = fopen ("file2", "r")//read

fscanf(fp3, "%c", &ch4);//用while循环多次读出
printf(“%c”, ch );

大概过程就是这样,文件主要是自己写才能掌握,这里就不把代码给你了。
上面的部分代码给你参考一下。有问题欢迎询问
源程序只是负责操作;file1和file2是存放数据的文件,可以看成结构体。
文件操作好好学,很重要!

⑤ C++C语言文件加密解密问题

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

voidjiami(){
intkey;
charch;
FILE*fp,*fp1;
printf("请输入密钥:");
scanf("%d",&key);
fp=fopen("待加密文件.txt","r");
fp1=fopen("已加密文件.txt","w");
if(fp==NULL){
printf("待加密文件打开,请查找原因。 ");
return;
}
while((ch=fgetc(fp))!=EOF){
ch+=key;
if(ch>'z'||ch>'z'&&ch<'a')ch-=26;
fputc(ch,fp1);
}
fclose(fp);
fclose(fp1);
}

intmain(){
jiami();
printf("加密成功,可以打开加密文件 ");
return0;
}

voidjiemi(){
charch;
intkey;
FILE*fp,*fp1;
printf("请输入密钥:");
scanf("%d",&key);
fp=fopen("已加密文件.txt","r");
fp1=fopen("解密后文件.txt","w");
if(fp=NULL){
printf("文件打开失败,请查找原因: ");
return;
}
while((ch=fgetc(fp))!=EOF){
ch-=key;
if(ch<'a'&&ch>'z'||ch<'A')
ch+=26;
fputc(ch,fp1);
}
fclose(fp);
fclose(fp1);
}

⑥ fopen函数可以打开 word文件

当然可以打开,且可用fread读入,只是读入的内容是文件是原始二进制代码,不容易识别其中的内容。

⑦ c语言里 用fopen里能打开文件夹吗 奇怪的事,我把文件夹打开了。 然后还没报错。

linux下的fopen当然可以打开文件了 而且它就是打开文件的函数啊!
#include<stdio.h>
FILF*fopen(const char *path(某路径下的某文件),const *char mode(打开方式));
打开的方式就是用宏
r/rb-----------只读打开,文件必须存在;
w/wb---------只写打开,重建文件 ,文件在则覆盖,不在则创建;
a/ab---------追加打开,文件有则追加,无这创建;
r+/rb+-------读写打开,文件必须存在,无则报错;
w+/wb+-----读写打开,重建文件;
a+/ab+------写追加打开,永远尾部追加,读随意;
返回值:文件流指针;
返回值:-1 则是打开文件失败;

⑧ C语言fopen不能打开.txt文件

①文件不存在;
②文件名错误,打开文件的名字应该写成"c:\\file.txt",而不是"c:\file.txt";
③代码错误;
fopen函数用于打开文件并获取文件的指针,以便对文件进行操作。
函数原型:FILE * fopen(const char * path,const char * mode);
参数:path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。
mode有下列几种形态字符串:
r 以只读方式打开文件,该文件必须存在。
r+ 以可读写方式打开文件,该文件必须存在。
rb+ 读写打开一个二进制文件,允许读写数据,文件必须存在。
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)
wb 只写打开或新建一个二进制文件;只允许写数据。
wb+ 读写打开或建立一个二进制文件,允许读和写。
ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。
上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库以二进制模式打开文件。如果不加b,表示默认加了t,即rt,wt,其中t表示以文本模式打开文件。由fopen()所建立的新文件会具有S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH(0666)权限,此文件权限也会参考umask值。
有些C编译系统可能不完全提供所有这些功能,有的C版本不用"r+","w+","a+",而用"rw","wr","ar"等,读者注意所用系统的规定。
返回值:
文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno中。
一般而言,打开文件后会做一些文件读取或写入的动作,若打开文件失败,接下来的读写动作也无法顺利进行,所以一般在fopen()后作错误判断及处理。
示例:以只读方式打开文件

#include
#define F_PATH "d:\\myfile\\file.dat"
int main(void)
{
FILE*fp=NULL;//需要注意
fp=fopen(F_PATH,"r");
if(NULL==fp)
{
return -1;//要返回错误代码
}
fclose(fp);
fp=NULL;//需要指向空,否则会指向原打开文件地址

return 0;
}

⑨ 怎么用fopen打开已写保护的文件

你可以 在打开文件前,加一句 system(命令) ,命令字符串 是 chmod 为允许读写。
文件 更新后 再 用system 调 chmod 命令 设 保护。
视窗系统 也可以 用system 调 attrib 改状态。

⑩ 关于用C语言对文件进行加密和解密

ch=ch^*(pwd+i); //对读取的一个字符,进行异或
重点是这,,,,,,就是使用密码,对源文件逐byte异或、
if(i>9){
i=0;
}

密码也循环使用。
~~~~~~~~~~~~

阅读全文

与fopen能打开加密文件吗相关的资料

热点内容
温州直播系统源码 浏览:110
程序员在上海买房 浏览:382
生活解压游戏机 浏览:907
季羡林pdf 浏览:716
php支付宝接口下载 浏览:814
ipad怎么把app资源库关了 浏览:301
量柱比前一天多源码 浏览:416
电子书app怎么上传 浏览:66
国家反诈中心app注册怎么开启 浏览:804
全波差分傅里叶算法窗长 浏览:41
程序员如何讲自己做过的项目 浏览:7
程序员要看的书颈椎 浏览:946
php文章cms 浏览:553
CSS权威指南第三版PDF 浏览:496
android怎么搭建框架 浏览:184
正宗溯源码大燕条一克一般多少钱 浏览:917
电脑感染exe文件夹 浏览:916
wpsppt怎么转pdf格式 浏览:88
腾讯文档在线编辑怎么添加密码 浏览:880
本地不能访问服务器地址 浏览:865