c语言之文件加密
来源:互联网 发布:虎视眈眈单人动作数据 编辑:程序博客网 时间:2024/06/05 06:47
功能:根据用户输入的路径和文件进行加密;
加密方式:按位“与”
附:因为时间缘故,解密部分还没有调试好;加密部分没有问题,文件经过加密之后成为了乱码。
#include<stdio.h>#include<stdlib.h>#include<string.h>#define MAX 100#define LENGTH 10/******加密文件*******/void PasswdFile(char *s_file,char *o_passwd,char *d_file) { FILE *f_in,*f_out; int i=0; char ch; f_in = fopen (s_file,"rb"); if (f_in == NULL) { perror ("fopen f_in error"); exit (EXIT_FAILURE); } f_out = fopen (d_file,"wb"); if (f_out == NULL) { perror ("fopen f_out error"); exit (EXIT_FAILURE); } //ch = fgetc(f_in); /***可以采用ch = fgetc(f_in)!=EOF(针对文本文件)***/ while (!feof(f_in)) { /**采用的是按位“与”的加密方式**/ ch = ch&*(o_passwd+i); i++; fputc (ch,f_out); ch=fgetc(f_in); if (i>9) { i=0; } } fclose(f_in); f_in=NULL; fclose(f_out); f_out=NULL; }/******解密文件******/void UnpasswdFile(char *o_passwd) //d_file 为加密后的文件 { FILE *r_fp = NULL; FILE *w_fp = NULL; int i=0; char ch; r_fp = fopen("f:\2.txt","rb"); if (!r_fp) { printf ("fopen error\n"); exit (EXIT_FAILURE); } w_fp = fopen ("f:\uncode.txt","wb"); if (!w_fp ) { printf ("fopen error\n"); exit (EXIT_FAILURE); } ch = fgetc(r_fp); while (!feof(r_fp)) { ch = ch^*(o_passwd+i); i++; fputc (ch,w_fp); ch=fgetc(r_fp); if (i>9) { i=0; } } fclose(r_fp); r_fp=NULL; fclose(w_fp); w_fp=NULL; printf ("你的文件经过解密保存到了f:\uncode.txt\n"); }/****菜单****/void Menu() { puts (" ----------------------"); puts (" ----------------------"); puts (" 欢迎使用文件加密"); puts (" Y:加密 N:解密"); puts (" E:退出"); puts (" ----------------------"); puts (" ----------------------"); }int main(int argc,char **argv) { char sourcefile[MAX]; char destfile[MAX]; char passwd[LENGTH]; memset (sourcefile,0,sizeof(sourcefile)); memset (destfile,0,sizeof(destfile)); memset (passwd,0,sizeof(passwd)); Menu(); puts ("请输入待加密的文件路径和文件名:"); gets (sourcefile); puts ("请输入你的加密密码:"); gets (passwd); puts ("请输入你加密后所保存的路径和文件名:"); gets (destfile); PasswdFile (sourcefile,passwd,destfile); //UnpasswdFile (passwd); system("pause"); return 0; }
1 0
- c语言之文件加密
- c语言文件加密
- C语言之文件的加密与解密
- (c语言)文件加密程序
- c语言简单文件加密
- C语言实现简单文件加密解密
- 基于C语言的文件加密技术
- C语言简单的文件加密
- C语言实现文件加密解密
- C语言文件加密解密软件
- C语言 之 文件
- C语言之文件操作
- C语言之文件操作
- C语言之文件操作
- C语言之文件IO
- C语言之文件操作
- c语言之文件操作
- C语言之文件操作
- Spring在基于java的配置中使用prop属性
- MySQl之最全且必会的sql语句
- 第18章 类加载机制与反射-JDK动态代理
- printf
- AR 学习记录 unity+vuforia+ android 初次搭建
- c语言之文件加密
- Codeforces 797C Minimal String 贪心+模拟
- Java加载dll或so库文件的路径 java.library.path
- struts2总结笔记之二
- 剑指offer-面试题 15:链表中倒数第 k 个结点
- VMware Workstation安装CentOS7图文详细教程
- ajax 处理不同类型数据
- Java编程思想-06访问权限控制
- Java带参方法