文件加密码
来源:互联网 发布:淘宝怎么设置限购5件 编辑:程序博客网 时间:2024/05/21 12:08
文件的获取大小与文件的密码都需要注意 使用 int ch = fgetc(); 这样可以避免因加密或解密造成的溢出,损坏文件。
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<string.h>//加密码最好使用 二进制,否则会出现一些问题。//这儿的 获取字符也应该使用 int ch = fgetc(pfr); 使用 int 类型而不要使用 char .//还有一个需要注意的地方就是:\n 在写到文件中是变成 \n-->\r\n, 而 \n读出来的又是 \r\n-->\nvoid jiajiepass(char *path, char *newpath, char *pw){FILE *pfr = fopen(path, "rb");FILE *pfw = fopen(newpath, "wb");if (pfr == NULL || pfw == NULL){printf("文件读取或打开失败!\n");return;}int length = strlen(pw);int i = 0;int ch;//不要使用 char 类型,否则会出错。while ((ch=fgetc(pfr))!=EOF){if (i > length)i = 0;fputc(ch^pw[i], pfw);}fclose(pfr);fclose(pfw);}int getFileSize(char *path){FILE *pfr = fopen(path, "rb");if (pfr == NULL ){printf("打开失败!\n");return -1;}int sum = -1; //这儿的用 -1 是因为文件最后的一个EOF 也计算在内了。while (!feof(pfr)){int ch = fgetc(pfr);//这儿一定要使用 int sum++;}return sum;}char *path = "I:\\fudan\\工具\\dllinject\\DllInject.exe";char *pathjia = "I:\\fudan\\工具\\dllinject\\DllInjectjia.exe";char *pathjie = "I:\\fudan\\工具\\dllinject\\DllInjectjie.exe";char *pw = "password";void main(){//printf("%d\n", getFileSize(path));char password[20];printf("请输入加密、解密密码:");scanf("%s", password);printf("加密中...\n");jiajiepass(path, pathjia, password);printf("解密中...\n");jiajiepass(pathjia, pathjie, password);system("pause");}
0 0
- 文件-加密码
- 文件加密码
- 如何给access文件加密码
- spring 属性文件加密码及解密
- 维吉尼亚密码加解密(no 文件加解密)
- Vim 如何加密码文件与解密文件
- C#中调用rar解压加密码文件
- 【Delphi】RDP文件中的密码Hash加解密单元
- 文件加解密(二)——使用密码
- EXCEL 加密码
- 给网页加密码
- DES加密码
- pb加密码钥匙
- 为MYSQL加密码
- 密码加“盐”
- weblogic密码加解密
- 网页js加密码
- 培根密码加解密
- Oledb,写入Excel 异常 标准表达式中数据类型不匹配。
- iOS 单击图片UIImage提取图片上的颜色UIColor (OC)
- hdu5810
- EventBus源码阅读(17)-EventBusBuilder
- 获取键盘高度
- 文件加密码
- HDU 2045不容易系列之(3)—— LELE的RPG难题
- ThinkPHP2.2框架执行原理、流程图在线手册
- 30左右的书籍都算经典
- 音视频开发——ffmpeg解码(四)
- ECMAScript-初回学习“函数”
- 移植uboot第一步:下载,编译,烧到板子上试验
- 编写带有block参数的函数
- CentOS代理上网