首页 / C语言 / C语言实现简单文件加密
C语言实现简单文件加密
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C语言实现简单文件加密,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1642字,纯文字阅读大概需要3分钟。
内容图文
![C语言实现简单文件加密](/upload/InfoBanner/zyjiaocheng/1322/ef2b4652ecaf494fb8985fb9d02b6bbf.jpg)
原理:异或运算
加密:
#include<stdio.h> #include<stdlib.h> #include<string.h> #define KEY ‘@‘ int main(int argc, char * argv[]){ FILE *fp; FILE *coded; char codedname[40]; char ch; if(argc < 2){ printf("param error!\n"); exit(1); } if((fp = fopen(argv[1], "rb")) == NULL){ printf("error when open file %s.\n", argv[1]); exit(1); } strcpy(codedname, argv[1]); strcat(codedname, ".coded"); if((coded = fopen(codedname, "a+b")) == NULL){ printf("error when open file %s.\n", codedname); exit(1); } while((ch = getc(fp)) != EOF){ char temp = ch^KEY; putc(temp, coded); } if(fclose(fp) != 0){ printf("error when close file %s.\n", argv[1]); exit(1); } if(fclose(coded) != 0){ printf("error when close file %s.\n", codedname); } return0; }
解密:
#include<stdio.h> #include<stdlib.h> #include<string.h> int main(int argc, char * argv[]){ FILE *fp; FILE *decoded; char decodedname[40]; char ch; char key; constchar *dot = "."; if(argc < 3){ printf("param error!\n"); exit(1); } if((fp = fopen(argv[1], "rb")) == NULL){ printf("error when open file %s.\n", argv[1]); exit(1); } strcpy(decodedname, strtok(argv[1], dot)); strcat(decodedname, "."); strcat(decodedname, strtok(NULL, dot)); key = argv[2][0]; if((decoded = fopen(decodedname, "a+b")) == NULL){ printf("error when open file %s.\n", decodedname); exit(1); } while((ch = getc(fp)) != EOF){ char temp = ch^key; putc(temp, decoded); } if(fclose(fp) != 0){ printf("error when close file %s.\n", argv[1]); exit(1); } if(fclose(decoded) != 0){ printf("error when close file %s.\n", decodedname); } return0; }
原文:http://www.cnblogs.com/msing/p/4415211.html
内容总结
以上是互联网集市为您收集整理的C语言实现简单文件加密全部内容,希望文章能够帮你解决C语言实现简单文件加密所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。