① c语言课程设计,题目加密与解密,不需要太高深的,二百行左右的程序
一个文件里有数据 如:ABCDEFG
加密:open文件
建新文件
读取原文件内容 处理后 写入新文件 直到原文件结束
close两个文件 新文件即为加密后文件
解密: 同理 反向处理数据 写入新文件 解密成功
② c语言课程设计报告之文件加密解密,要详细一点的,完整的
开篇
人生命、要守护,十条法则要记住,一旦灾害发生时,及时应用心有数。
一、地震
遇地震,先躲避,桌子床下找空隙,靠在墙角曲身体,抓住机会逃出去,
远离所有建筑物,余震蹲在开阔地。
二 火灾
火灾起,怕烟熏,鼻口捂住湿毛巾,身上起火地上滚,不乘电梯往下奔,
阳台滑下捆绳索, 盲目跳楼会伤身。
三、洪水
洪水猛,高处行,土房顶上待不成,睡床桌子扎木筏,大树能栓救命绳,
准备食物手电筒,穿暖衣服渡险情。
四、台风
台风来,听预报,加固堤坝通水道。煤气电路检修好,临时建筑整牢靠。
船进港口深抛锚,减少出行看信号。
五、泥石流
下暴雨,泥石流,危险处地是下游,逃离别顺沟底走,横向快爬上山头。
野外宿营不选沟,进山一定看气候。
六、雷击
阴雨天,生雷电,避雨别在树下站,铁塔线杆要离远,打雷家中也防患,
关好门窗切电源,避免雷火屋里窜。
七、暴雪
暴雪天,人慢跑,背着风向别停脚,身体冻僵无知觉,千万不能用火烤,
冰雪搓洗血循环,慢慢温暖才见好。
八、龙卷风
龙卷风,强风暴,一旦袭来进地窖,室内躲避离门窗,电源水源全关掉,
室外趴在低洼地,汽车里面不可靠。
九、疫情
对疫情,别麻痹,预防传染做仔细,发现患者即隔离,通风消毒餐用具。
人受感染早就医,公共场所要少去。
十、防化
化学品,有危险,遗弃物品不要捡,
预防烟火燃毒气,报警说明出事点。运输泄露别围观,人在风头要离远。
人生命,重于山,防灾避险于未然。掌握技能常演练,祝愿人人保平安。
今年教育部与中央电视台联合举办了“知识守护生命”大型公益活动,并邀请奥运冠军、着名学者和社会知名人士制作了有关中小学安全教育的特别节目,就是《开学第一课》,它以生命意识教育为主题,倡议全国的中小学学生每年每学期都进行应急避险教育;这一特殊的公益课由“潜能”、“团队”、“坚持”“生命”四节课完美组成:
“潜能”:每个人都有潜在的能量,潜能需要激发,人在危险时第一反应就是潜能支配肢体行为,同时潜能很易被习惯掩盖,就会失去生命的机会,相反也会赢得生命的机会!
“坚持”:每个人都知道“坚持就是胜利”这句话的道理,坚持就可以创造生命奇迹,就像在这次地震中坚持活下来的人就会有新的人生。面对人生就要有坚持不懈的精神。
“团队”:团队精神的形成并不要求团队成员牺牲自我,相反,挥洒个性、表现特长保证了成员共同完成任务目标,是一种真正的内心动力。面对灾难,团队精神显得尤为重要。
“生命”:快乐是一种心理感受。快乐是健康的金钥匙,人处世间,理应追求快乐。懂得快乐、善于快乐实在是一种智慧。正如在这次灾难中的幸存者更要笑对新的人生。
③ 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语言课程设计 文本文件加密技术
以前写过一个差不多的,不知道你们能不能用得上,初始密码123
#include"stdio.h"
#include"conio.h"
#include"stdlib.h"
#include"string.h"
voidmenu();//菜单
voidchuLi();//处理
voidQu();//读取
voidopenPassword();//打开密码
charpassword[]="123";//密码
enums{JIAMI,JIEMI,DUQU}state;//处理状态(加密,解密,读取)
//加密算法
voidcalculate(char*c)
{
switch(state)
{
caseJIAMI:
*c=*c^'0';
*c=*c+100;
break;
caseJIEMI:
caseDUQU:
*c=*c-100;
*c=*c^'0';
break;
}
}
intmain()
{
openPassword();
for(;;)
menu();
}
//打开密码
voidopenPassword()
{
charinput[50];
printf("请输入密码:");
scanf("%s",input);
//判断密码是否正确
while(strcmp(input,password)!=0)
{
printf("密码错误,请重新输入:");
scanf("%s",input);
}
}
//菜单
voidmenu()
{
intselect;
system("cls");
printf("1.加密文本 ");
printf("2.解密文本 ");
printf("3.读取文本 ");
printf("请选择:");
scanf("%d",&select);
system("cls");
//判断输入是否正确
while(select<1||select>3)
{
printf("输入有误,请重新输入:");
scanf("%d",&select);
}
switch(select)
{
case1:
state=JIAMI;
chuLi();
break;
case2:
state=JIEMI;
chuLi();
break;
case3:
state=DUQU;
Qu();
break;
}
}
//处理
voidchuLi()
{
FILE*file;//源文件
FILE*fileL;//临时文件
charfileName[50];//文件名
charcommand[50];//命令语句
charc;//临时处理变量
//打开源文件
do
{
if(state==JIAMI)
printf("请输入要加密的文件:");
elseif(state==JIEMI)
printf("请输入要解密的文件:");
scanf("%s",fileName);
file=fopen(fileName,"r");
if(file==NULL)
printf("文件不存在,");
}while(file==NULL);
//进行加解密
fileL=fopen("临时文件.txt","w");
while(!feof(file))
{
c=fgetc(file);
calculate(&c);
fputc(c,fileL);
}
fclose(file);
fclose(fileL);
//删除源文件
sprintf(command,"del%s",fileName);
system(command);
//重命名新文件
sprintf(command,"rename临时文件.txt%s",fileName);
system(command);
if(state==JIAMI)
printf("加密成功");
elseif(state==JIEMI)
printf("解密成功");
getch();
}
//读取
voidQu()
{
FILE*file;
charfileName[50];
charc;
//打开源文件
do
{
printf("请输入要读取的加密文件:");
scanf("%s",fileName);
file=fopen(fileName,"r");
if(file==NULL)
printf("文件名不存在,");
}while(file==NULL);
//把文件输出到屏幕上
system("cls");
while(!feof(file))
{
c=fgetc(file);
calculate(&c);
printf("%c",c);
}
fclose(file);
getch();
}
⑤ C语言程序设计文件加密解密
3.126 icePub_encryptFile
l 函数原型:
int WINAPI icePub_encryptFile(char *strFilename, char *strOutputFilename, char *strKey)
输入:strFilename 待加密文件名
strOutputFilename 加密后文件名
strKey 密钥,任意长度
输出:
返回码:
cePub_decryptFile
l 函数原型:
int WINAPI icePub_decryptFile(char *strFilename, char *strOutputFilename, char *strKey)
输入:strFilename 加密文件名
strOutputFilename 解密后文件名
strKey 密钥,任意长度
输出:
返回码:
http://dl.icese.net/dev.php?f=icePubDll.rar
下载
⑥ c语言程序设计文件加密解密
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
main()
{
void sc(char *fp,char *key,int Flen,int Klen);
FILE *fp;
char *pBuf,filename[20],key[20],ch;
printf("请输入选择:A、加密 B、解密 C退出\n");
ch=getchar();
while(ch!='c'&&ch!='C')
{
if(ch=='a'||ch=='A'||ch=='b'||ch=='B')
{
printf("请输入要打开的文件名:\n");
scanf("%s",filename);
if((fp=fopen(filename,"rb"))==NULL)
{printf("无法打开文件,请注意输入后缀!\n");<br/> exit(0);<br/> }
fseek(fp,0,SEEK_END);
int len=ftell(fp);
pBuf=new char[len+1];
rewind(fp);
fread(pBuf,1,len,fp);
pBuf[len]=0;
printf("%s\n",pBuf);
fclose(fp);
printf("请输入加密/解密的密码:\n");
scanf("%s",key);
sc(pBuf,key,len,strlen(key));
printf("请输入保存加密文件的文件名:\n");
scanf("%s",filename);
if((fp=fopen(filename,"wb"))==NULL)
{printf("无法保存文件,请注意磁盘是否已满!\n");<br/> exit(0);<br/> }
else
fwrite(pBuf,1,len,fp);
fclose(fp);
printf("请输入选择:A、加密 B、解密 C退出\n");
}
else {
printf("输入错误,请重新输入\n");
}
ch=getchar();
ch=getchar();
}
}
void sc(char *fp,char *key,int Flen,int Klen)
{int i,j,k;<br/>for(i=0;i<Flen;i+=Klen)<br/>for(j=i,k=0;k<Klen;j++,k++)<br/>fp[j]^=key[k];<br/><br/>fp[i]='\0';<br/>printf("%s\n",fp);<br/>}
⑦ C语言程序设计之文件加密
我写的,纯粹为了好玩。
小程序,加密自然比较简单,程序在win-tc下通过。
/* 数据安全实用程序,加密解密简单程序 */
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int flag;
char encrypt(char ch,int key)/*加密函数,把字符循环移位*/
{
if(ch>='a' && ch<='z') /* 如果是小写字母 */
{
ch=(ch-'a'+key%26)%26+'a';
}
else if(ch>='A' && ch<='Z') /* 如果是大写字母 */
{
ch=(ch-'A'+key%26)%26+'A';
}
return ch;
}
char decrypt(char ch,int key)/*解密函数,把字符循环移位*/
{
if(ch>='a' && ch<='z') /* 如果是小写字母 */
{
ch=(ch-'a'+26-key%26)%26+'a';
}
else if(ch>='A' && ch<='Z') /* 如果是大写字母 */
{
ch=(ch-'A'+26-key%26)%26+'A';
}
return ch;
}
void menu()/*菜单,1.加密,2.解密,3.显示文本文件内容*/
{
clrscr();
printf("\n=======================================================");
printf("\n1.Encrypt the text file");
printf("\n2.Decrypt the text file");
printf("\n3.Display text file contents");
printf("\n4.Quit\n");
printf("=========================================================\n");
printf("Please select a item:");
}
void logo()/*显示程序信息*/
{
printf("\n welcome to encrypt program \n ");
return;
}
void encrypt_decrypt_File(char* infile,int key, char* outfile)
{
FILE *in,*out;
char ch;
clrscr();
if((in=fopen(infile,"r"))==NULL) /* 打开欲加密或解密的文件*/
{
printf("Can not open the infile!\n");
printf("Press any key to exit!\n");
getch();
exit(0);
}
if((out=fopen(outfile,"w"))==NULL) /* 打开文件保存加密或解密后的内容*/
{
printf("Can not open the outfile!\n");
printf("Press any key to exit!\n");
fclose(in);
getch();
exit(0);
}
ch=fgetc(in); /*从文本文件中读入字符*/
while(ch!=EOF)/*加密或解密*/
{
/*如果是英文字符,则进行加密或解密,否则,不进行加密或解密处理*/
if((ch>='a' && ch<='z' ) || (ch>='A' && ch<='Z'))
{ if(flag==1)
fputc(encrypt(ch,key),out);
if(flag==2)
fputc(decrypt(ch,key),out);
}
else
fputc(ch,out);
ch=fgetc(in);
}
/*关闭输入及输出文件*/
fclose(in);
fclose(out);
}
void displayFile(char *infile) /*将文本文件的内容显示在屏幕上*/
{
FILE *fp;
char string[81];
if((fp=fopen(infile,"r"))==NULL)
{
printf("cann't open file");exit(0);
}
while(fgets(string,81,fp)!=NULL)
fputs(string,stdout); /*把所取字符串送到屏幕显示*/
fclose(fp);
}
int main()
{
int i,n;
char ch0,ch1;
char infile[40],outfile[40];
textbackground(LIGHTGRAY); /*设置背景颜色*/
textcolor(BLACK); /*设置文字颜色*/
clrscr();/*清除屏幕显示*/
logo(); /*显示程序信息*/
sleep(2);
menu(); /*显示屏幕菜单*/
ch0=getche();/*等待用户从键盘输入*/
while(ch0!='4')
{
clrscr();
if(ch0=='1') /*选择加密功能*/
{
flag=1;
printf("\nPlease input the infile to be encrypted:");
scanf("%s",infile);
printf("Please input the encrypt key:");
scanf("%d",&n);/*输入加密密码*/
printf("Please input the outfile:");
scanf("%s",outfile);/*输入存放加密内容的文件名*/
encrypt_decrypt_File(infile,n,outfile);
printf("\nEncrypt is over!\n");
sleep(1);
}else if(ch0=='2') /*选择解密功能*/
{
flag=2;
printf("\nPlease input the infile to be decrypted:");
scanf("%s",infile);
printf("Please input the decrypt key:");
scanf("%d",&n);/*输入解密密码,加密和解密密码应相同*/
printf("Please input the outfile:");
scanf("%s",outfile);/*输入存放解密内容的文件名*/
encrypt_decrypt_File(infile,n,outfile);
printf("\nDecrypt is over!\n");
sleep(1);
}else if(ch0=='3') /*选择显示文本文件功能*/
{
printf("\nPlease input the infile to be displayed:");
scanf("%s",infile);
displayFile(infile);
getch();
}else{ /*不合法输入*/
printf("\nplease input a valid number(1-4)\n");
sleep(1);
}
menu();/*显示程序菜单*/
ch0=getche(); /*等待用户下一次的功能选择*/
}
system("cls");/*清除屏幕*/
logo(); /*显示程序信息*/
printf("\nGood Bye!\n");
sleep(2);
system("pause");
return 0;
}
⑧ 用C语言设计一个文件加密与解密程序
c语言文件加密和解密方法如下:
1、首先打开VC++6.0;
4、声明头文件
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
首先写个加密函数,算法就是简介里说的;
voidEncryptFile(FILE*sfp,FILE*dfp,charpwd)
{
charch;
if(sfp==0||dfp==0)
{
printf("ERROR!
");
return;
}
while((ch=fgetc(sfp))!=EOF)
{
if((ch>='a')&&(ch<='z'))
{
ch=(ch-'a'+1)%26+'a';
ch=ch^pwd;
}
if((ch>='A')&&(ch<='Z'))
{
ch=(ch-'A'+1)%26+'A';
ch=ch^pwd;
}
fputc(ch,dfp);
}
}
写解密子函数:与加密的过程相反;
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语言对文件进行加密和解密
对于加密要求不高的完全可以自己定义规则来进行加密。这种加密是很简单很自由的,例如你在存文件的时候可以将文件中的每个字符都加上一个数,然后读取该文件的时候再每个字符相应地减去那个数,即可实现就简单的加密,这样你储存的文件看上去就是乱码了。只是这个规则太简单,规则你可以自己定,加密与解密对着来就行了。
下面程序用异或操作对文件进行加密和解密
/****************** 设计思路 ******************/
// 根据用户输入的加密/机密密码,
// 每次都拿原文件和密码等长度的一个字符串和密码
// 对应元素异或进行加密/解密
// 另外因为是用异或方法,所以加密和解密就是同一个程序
// 即按照同样的加密即是对文件的解密
#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语言对文件进行加密和解密急求......................
文件分为文本文件和二进制文件。加密方法也略有不同。
1、文本文件
加密的主要是文本的内容,最简单的方法就是修改文档的内容,比如1.txt中的文件内容:
abcd
只要给每一个字符+1,就可以实现加密。文件内容即会变为
bcde
2、二进制文件加密
二进制文件加密也就是对应用程序加密,需要理解可执行文件格式,比如Windows平台的Exe文件它是PE结构,Linux上的可执行文件是ELF结构,要对这样的程序进行加密,实际上是开发一种叫做“壳”的程序,这种程序的开发,需要将扎实的底层基础,同时也需要对软件加密解密有细致的理解,比如流行的vmprotect、z壳以及早些年的upx壳、aspack等等。
3、无论哪种加密都牵涉到文件操作的问题,使用C语言进行文件操作时,极少使用C标准库中的I/O函数,大多数使用操作系统提供的内存文件映射相关的API函数,有兴趣,可以搜索相关的资料。