C语言/加密解密

[复制链接]
查看11 | 回复0 | 2009-6-6 17:55:10 | 显示全部楼层 |阅读模式
给你一个加密算法 我写的 用异或算法处理文本类的文档#include#include#include #include jiemi(){ int k,l; char FN[40],FS[40];
char ch,mima[40],x;
FILE *f1,*f2; printf("输入要解密的文件夹名称:");
scanf("%s",FN); if((f1=fopen(FN,"r"))==NULL) {
printf("您的路径有误,系统将不能完成任务,请重新进入。");
getch();
exit(1); } printf("输入您要解密到的文件夹名称:"); scanf("%s",FS); if((f2=fopen(FS,"w"))==NULL) {
printf("您的输入有误,系统将不能完成任务,请重新进入。");
getch();
exit(1); } printf("输入密码:"); scanf("%s",mima);l=strlen(mima); k=0; ch=fgetc(f1); while(ch!=EOF) {
k=k%l;
fputc(ch^mima[k],f2);
ch=fgetc(f1);
k++; } fclose(f1); fclose(f2); printf("解密成功,请在该软件目录找到您解密的文件。\n"); getch();}jiami(){ int k,l; char FN[20],FS[20];
char ch,mima[40],x;
FILE *f1,*f2; printf("输入要打开的文件夹名称:");
scanf("%s",FN); if((f1=fopen(FN,"r"))==NULL) {
printf("您的路径有误,系统将不能完成任务,请重新进入。");
getch();
exit(1); } printf("输入要保存的文件夹名称:"); scanf("%s",FS); if((f2=fopen(FS,"w"))==NULL) {
printf("您的输入有误,系统将不能完成任务,请重新进入。");
getch();
exit(1); } printf("输入密码:"); scanf("%s",mima);
l=strlen(mima); k=0; ch=fgetc(f1); while(ch!=EOF)
//文件没有到底就继续 ,EOF文件的底部
{
k=k%l;
fputc(ch^mima[k],f2);
ch=fgetc(f1);
k++; } fclose(f1); fclose(f2); printf("加密成功,请在该软件目录找到您加密的文件。\n"); getch();}main(){char y;while(1){printf("说明:欢迎使用文件加密程序,该程序可以将txt文档加密为为不可读文件,解密后返回原状态\n\n");printf("小提示:输入文件名字的时候请使用字母,数字或下划线。\n并且请加上(文件名).txt的后缀,要加密的文件请放在和程序文件同目录下\n\n");printf("
******菜单*******\n"); printf("
*1.加密
*\n");printf("
*2.解密
*\n");printf("
*0.退出
*\n");printf("
*****************\n"); printf(" 请输入要执行的命令:\n");y=getch();switch(y){case '1': jiami();system("cls");break;case '2': jiemi();system("cls");break;case '0': exit(0); }}}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行