文件加密c语言
设置加密算法,如将文件以二进制打开,每个字节加(或减、乘、除、模等等)一个数,设置类似的一个加密算法。将该文件重新生成一次。完成加密过程。解密过程既是对加密过程的逆运算,保证将没个字节还原成为文件原貌即可。另外,不一定针对每个字节进行运算,加密的字节仍然可以通过算法确定,例如,奇数字节、偶数字节等进行加密操作。
② 急求 C语言文件加密
亲 这个问题比较常见哦 也挺简单的 也就是给文件加密
将要加密的文档打开
点击工具栏最左的蓝色背景“Word”点击“选项”
点击“选项”后在其中找到“安全性”
在这里直接输入密码即可
在这里你即可以编辑打开密码,也可以设置编辑密码(就说别人可以打开,但是想编辑的话,必须输入正确的密码,否则不能编辑哦)
这时的你如果在打开此文件就需要输入密码了
亲 有什么不明白的 看不懂想要操作流程图片的 你可以追问我哦
③ C语言关于文件加密
我不会。
给文件加密,你可以在网络上下载超级加密3000 这是一款功能强大的文件和文件夹加密和保护软件。
超级加密3000有超快和最强的文件、文件夹加密功能、数据保护功能,文件夹、文件的粉碎删除以及文件夹伪装等功能。
超级加密 3000采用先进的加密算法,使你的文件和文件夹加密后,真正的达到超高的加密强度,让你的加密数据无懈可击。
超级加密3000还支持加密文件的临时解密,文件加密后,双击加密文件,在弹出密码输入对话框输入正确的密码选择确定,该加密文件就处于临时解密,文件使用完毕退出以后,它自动恢复到加密状态,无需再加密。
超级加密3000是一款不可多得的文件加密软件,您可以到网络上搜索超级加密3000给您的文件加密试试看。
④ C语言设计一个简单的加密解密程序
C语言设计一个简单的加密解密程序如下:
加密程序代码:
#include<stdio.h>
main()
{
char
c,filename[20];
FILE
*fp1,*fp2;
printf("请输入待加密的文件名:\n");
scanf("%s",filename);
fp1=fopen(filename,"r");
fp2=fopen("miwen.txt","w");
do
{
c=fgetc(fp1);
if(c>=32&&c<=126)
{
c=c-32;
c=126-c;
}
if(c!=-1)
fprintf(fp2,"%c",c);
}
while(c!=-1);
}
解密程序代码:
#include<stdio.h>
#include<string.h>
main()
{
char
c,filename[20];
char
yanzhengma[20];
FILE
*fp1,*fp2;
printf("请输入待解密文件名:\n");
scanf("%s",filename);
printf("请输入验证码:\n");
scanf("%s",yanzhengma);
if(strcmp(yanzhengma,"shan")==0)
{
fp1=fopen(filename,"r");
fp2=fopen("yuanwen.txt","w");
do
{
c=fgetc(fp1);
if(c>=32&&c<=126)
{
c=126-c;
c=32+c;
}
if(c!=-1)
fprintf(fp2,"%c",c);
}
while(c!=-1);
}
else
{
printf("验证码错误!请重新输入:\n");
scanf("%s",filename);
}
}
⑤ c语言文件加密和解密
c语言文件加密和解密方法如下:
1、首先打开VC++6.0;
voidDecryptFile(FILE*sfp,FILE*dfp,charpwd)
{
charch;
while((ch=fgetc(sfp))!=EOF)
{
if((ch>='a')&&(ch<='z'))
{
ch=ch^pwd;
ch=(ch-'a'+25)%26+'a';
}
if((ch>='A')&&(ch<='Z'))
{
ch=ch^pwd;
ch=(ch-'A'+25)%26+'A';
}
fputc(ch,dfp);
}
}
输出函数,输出文件内容
voidOutputFile(FILE*fp)
{
charch;
while((ch=fgetc(fp))!=EOF)
putchar(ch);
}
主函数,主要调用这几个函数
intmain()
{
/*用户输入的要加密的文件名*/
charsfilename[20];
/*用户输入加密后保存的文件名*/
chardfilename[20];
/*用来保存密码字符*/
charpwd;
FILE*sfp,*dfp;
printf(":
");
/*得到要加密的文件名*/
gets(sfilename);
/*得到加密后你要的文件名*/
printf(":
");
gets(dfilename);
/*得到加密字符*/
printf("PleaseinputyourPassword:
");
//scanf("%c",&pwd);
pwd=getch();
/*屏幕以*来表示输入的加密字符*/
printf("*
");
/*以只读方式打开要加密的文件*/
if((sfp=fopen(sfilename,"r"))==0)
{
printf("Can'topenthefile:%s
",sfilename);
exit(0);
}
/*输出要加密的文件*/
printf(":
");
OutputFile(sfp);
/*建立加密后的文件*/
if((dfp=fopen(dfilename,"w+"))==0)
{
printf("Can'topenorcreatethefile:%s
",dfilename);
//exit(0);
}
/*文件加密*/
fseek(sfp,0L,SEEK_SET);
EncryptFile(sfp,dfp,pwd);
printf("
Encryptedthefilesuccessfully!
");
/*输出加密后的文件*/
printf(":
");
fseek(dfp,0L,SEEK_SET);
OutputFile(dfp);
fclose(sfp);
fclose(dfp);
getch();
return0;
}
⑥ 如何用C语言对文件进行加密和解密急求......................
文件分为文本文件和二进制文件。加密方法也略有不同。
1、文本文件
加密的主要是文本的内容,最简单的方法就是修改文档的内容,比如1.txt中的文件内容:
abcd
只要给每一个字符+1,就可以实现加密。文件内容即会变为
bcde
2、二进制文件加密
二进制文件加密也就是对应用程序加密,需要理解可执行文件格式,比如Windows平台的Exe文件它是PE结构,Linux上的可执行文件是ELF结构,要对这样的程序进行加密,实际上是开发一种叫做“壳”的程序,这种程序的开发,需要将扎实的底层基础,同时也需要对软件加密解密有细致的理解,比如流行的vmprotect、z壳以及早些年的upx壳、aspack等等。
3、无论哪种加密都牵涉到文件操作的问题,使用C语言进行文件操作时,极少使用C标准库中的I/O函数,大多数使用操作系统提供的内存文件映射相关的API函数,有兴趣,可以搜索相关的资料。
⑦ 如何用C语言对文件进行加密和解密
对于加密要求不高的完全可以自己定义规则来进行加密。这种加密是很简单很自由的,例如你在存文件的时候可以将文件中的每个字符都加上一个数,然后读取该文件的时候再每个字符相应地减去那个数,即可实现就简单的加密,这样你储存的文件看上去就是乱码了。只是这个规则太简单,规则你可以自己定,加密与解密对着来就行了。
下面程序用异或操作对文件进行加密和解密
/****************** 设计思路 ******************/
// 根据用户输入的加密/机密密码,
// 每次都拿原文件和密码等长度的一个字符串和密码
// 对应元素异或进行加密/解密
// 另外因为是用异或方法,所以加密和解密就是同一个程序
// 即按照同样的加密即是对文件的解密
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <conio.h>
#include <stdlib.h>
char filename[256]; // 原文件
char password[256]; // 加密/解密密码
const char filenametemp[] = "temp15435255435325432543.temp"; // 加密/解密中间文件
void inputpass(char *pass); //密码输入以"******"显示
void main() {
FILE *fp; // 加密/解密的文件
FILE *fptemp; // 加密/解密过程临时文件
int pwdlen; // 密码长度
int i = 0; // 计数器
char ch = 0; // 读入的字符
printf("请输入要加密/解密的文件名(全路径名): \n");
gets(filename);
if( (fp = fopen(filename, "rb")) == NULL) {
printf("找不到文件 %s\n", filename);
exit(1);
} // if
printf("请输入要加密/解密的密码: \n");
inputpass(password);
pwdlen = strlen(password);
if(pwdlen == 0) {
printf("密码不能为空,加密/解密失败\n");
exit(1);
} // if
fptemp = fopen(filenametemp, "wb"); // 打开中间文件
while(1) {
ch = fgetc(fp);// 从原文件读入一个字符
if(feof(fp)) { // 已经读到文件尾
break; // 退出循环
}
ch ^= password[i++]; // 对原字符和密码进行异或操作
fputc(ch, fptemp); // 将异或结果写入中间文件
if(i == pwdlen) { // 使得原文件每和密码长度相同的固定长度异或加密
i = 0;
}
} // while
fclose(fp); // 关闭打开原文件
fclose(fptemp); // 关闭打开中间文件
remove(filename); // 删除原文件
rename(filenametemp, filename); // 将中间文件重命名为原文件
printf("加密/解密成功\n"); // 至此加密/解密成功
}
// 密码输入以"******"显示
void inputpass(char *pass) {
int i = 0;
char c;
while(isprint(c = getch())) {
pass[i++] = c;
// printf("*");
}
pass[i] = '\0';
printf("\n");
}
⑧ c语言中的文件加密
//自己写的加密,加密方法就是根据输入的密码对文件中的内容进行异或后存放在加密后的文件中
//转载请声明program by STU caige
#include<stdio.h>
#include<stdlib.h>
#include <conio.h>//getche()需要
#include<string.h>
char ch;
//异或函数
int YiHuo(FILE *f0,FILE *fp,int passwordnum,int move,char key)
{
while(fread(&ch,1,1,f0),!feof(f0))
{
if (key==49)//加密
{
ch=ch+move;
(char)(ch^=passwordnum);
fwrite(&ch,1,1,fp);
}
if (key==50)//解密
{
(char)(ch^=passwordnum);
ch=ch+move;
fwrite(&ch,1,1,fp);
}
}
}
int main()
{
//encrypt加密 decrypt解密
FILE *f0,*fe,*fd;
char fname0[50];
char efname[50]={0};
char dfname[50]={0};
char Password[50]={0},key=0,key2=0;
char sysfname[20]={0};
int p=0,passwordnum,move=0;//异或后移动的次数 ;
system("cls");
do
{
system("cls");
do
{
printf("1-----------加密文件\n");
printf("2-----------解密文件\n");
printf("Esc----------退出\n") ;
key=getch();//读入一个键盘码
}
while ((key!='1')&&(key!='2')&&(key!=27));
Password[50]=0;
passwordnum=0;
if (key==49)
{
system("cls");
printf("请输入要加密的文件绝对路径\n");
scanf("%s",fname0);
// while(key=0)
//打开原文件
if ((f0=fopen(fname0,"rb"))==NULL)
{
printf("文件打不开哦!\n");
key=0;//文件打开失败时key的值改变
exit(0);
printf("加密失败\n");
system("pause");
}
//只有文件fname0打开成功时才能继续打开efname
if(key==49)
{
system("cls");
printf("请输入完成加密的文件存储路径\n");
scanf("%s",efname);
if ((fe=fopen(efname,"w+"))==NULL)
{
printf("文件打不开哦!\n");
printf("加密失败\n");
fclose(f0);
system("pause");
exit(0);
key=0;
}
}
//如果打开文件成功则开始输入密码
if(key==49)
{
system("cls");
printf("请输入密码\n");
scanf("%s",Password);
//把字符密码转化为整形来异或
for(p=0;Password[p]!=0;p++)
passwordnum+=((int)Password[p]);
move=(int)(passwordnum%9);
while (move>9)
move=(int)(move%9);
printf("%d",move);system("pause");
}
if (key==49)
{//异或加密
system("cls");
YiHuo(f0,fe,passwordnum,move,key);
printf("\n加密成功,您的输出文件路径为:\n");
printf("%s",efname);
fclose(f0);
fclose(fe);
}
}
if (key==50)
{
system("cls");
printf("请输入要解密的文件绝对路径\n");
scanf("%s",fname0);
// while(key=0)
//打开原文件
if ((f0=fopen(fname0,"rb"))==NULL)
{
printf("文件打不开哦!\n");
key=0;//文件打开失败时key的值改变
exit(0);
printf("解密失败\n");
system("pause");
}
//只有文件fname0打开成功时才能继续打开dfname
if(key==50)
{
system("cls");
printf("请输入完成解密的文件存储路径\n");
scanf("%s",dfname);
if ((fd=fopen(dfname,"w+"))==NULL)
{
printf("解密失败");
fclose(f0);
system("pause");
printf("文件打不开哦!\n");
exit(0);
key=0;
}
}
//如果打开文件成功则开始输入密码
if(key==50)
{
system("cls");
printf("请输入密码\n");
scanf("%s",Password);
//把字符密码转化为整形来异或
for(p=0;Password[p]!=0;p++)
passwordnum+=((int)Password[p]);
move=(int)(passwordnum%9);
while (move>9)
move=(int)(move%9);
move=(-move);
}
if (key==50)
{//异或加密
system("cls");
YiHuo(f0,fd,passwordnum,move,key);
printf("\n解密成功,您的输出文件路径为:\n%S",dfname);
system("pause");
fclose(f0);
fclose(fd);
}
}
}
while(key!=27);//当key为0,即读写两个文件都打开成功时才结束循环
return 0;
printf("\n谢谢使用!,program by STU caige\n");
system("pause");
}
⑨ c语言编写的程序,在输入密码时,如何加密
加密和解密算法是程序编制中的重要一环。试想,如果我们平时使用的腾讯QQ、支付宝支付密码、今日头条账号密码那么轻易就被别人盗取的话,很多不可以预料的事情就会发生!
在现实生活中,我们遇到过太多QQ密码被盗取的情况,有的朋友QQ被盗之后,骗子利用朋友间信任骗取钱财的事情屡见不鲜。支付宝也曾出现过支付宝账户被恶意盗取的事件,对用户利益造成了严重损害!这些在技术上都指向了同一相关问题:软件加密算法的强壮程度。今天,小编利用C语言来简单实现一种加密方法。下面是源代码。
需要说明:程序利用了ascii码值的按照一定规律变换实现加密,对于解密过程,则是加密的逆过程。下面是程序的运行结果。
4190阅读
搜索
编程免费课程300节
初学编程100个代码
java自学一般要学多久
5秒破解excel密码
python必背100源代码
40岁零基础学编程
⑩ C语言怎样给文件加密
这个加密有简单的,有复杂的。要是简单的就直接选择文件中的某些字段,将某些字段进行1定的转换或在文件中位置的变更等。也能够将其中的每一个2进制读取,然落后行1定的运算后再存储,到达加密的效果。最后再依照1定的逆操作,恢复原来的文件,到达解密的效果。大致思路就是这样的,具体就看你的加解密的算法复杂与否了!举个非常简单的例子,可以将读取的某个数与1个你自己知道的固定的数做“异或”运算,解密的时候,你再次和这个数做“异或”运算,就能够恢复原来的那个数。这就是1种简单的加密算法,看似简单,不过却比较经常使用,由于,参与异或运算的值只有你自己知道。