c语言二进制文件加密
来源:互联网 发布:小孩初学英语软件 编辑:程序博客网 时间:2024/05/22 07:49
#define _CRT_SECURE_NO_WARNINGS//关闭安全检查#include<stdio.h>#include<stdlib.h>int getfilesize(char *path){FILE *pf = fopen(path, "r");if (pf == NULL){return -1;}else{fseek(pf, 0, SEEK_END);int length = ftell(pf);return length;//获取文件大小}}void copy(char *oldpath, char *newpath){FILE *pfr, *pfw;pfr = fopen(oldpath, "rb");pfw = fopen(newpath, "wb");//写入二进制模式if (pfr == NULL || pfw == NULL){fclose(pfr);//关闭文件fclose(pfw);return;}else{int length = getfilesize(oldpath);char *p = (char *)malloc(length*sizeof(char));//分配内存,读取文件fread(p, sizeof(char), length, pfr);//读取二进制到内存fwrite(p, sizeof(char), length, pfw);//写入二进制到文件fclose(pfr);//关闭文件fclose(pfw);}}//加密void jia(char *oldpath, char *newpath){FILE *pfr, *pfw;pfr = fopen(oldpath, "rb");pfw = fopen(newpath, "wb");//写入二进制模式if (pfr == NULL || pfw == NULL){fclose(pfr);//关闭文件fclose(pfw);return;}else{int length = getfilesize(oldpath);char *p = (char *)malloc(length*sizeof(char));//分配内存,读取文件fread(p, sizeof(char), length, pfr);//读取二进制到内存for (int i = 0; i < length; i++){p[i] ^= 'A';}fwrite(p, sizeof(char), length, pfw);//写入二进制到文件fclose(pfr);//关闭文件fclose(pfw);}}//解密void jie(char *oldpath, char *newpath){FILE *pfr, *pfw;pfr = fopen(oldpath, "rb");pfw = fopen(newpath, "wb");//写入二进制模式if (pfr == NULL || pfw == NULL){fclose(pfr);//关闭文件fclose(pfw);return;}else{int length = getfilesize(oldpath);char *p = (char *)malloc(length*sizeof(char));//分配内存,读取文件fread(p, sizeof(char), length, pfr);//读取二进制到内存for (int i = 0; i < length; i++){p[i] ^= 'A';}fwrite(p, sizeof(char), length, pfw);//写入二进制到文件fclose(pfr);//关闭文件fclose(pfw);}}void main(){ char *oldpath = "C:\\Users\\yincheng01\\Desktop\\腾讯截图2012.exe";char *newpath = "C:\\Users\\yincheng01\\Desktop\\腾讯截图2012A.exe";char *newjiepath = "C:\\Users\\yincheng01\\Desktop\\腾讯截图2012B.exe";jia(oldpath, newpath);jie(newpath, newjiepath); system("pause");}
fseek
ftell
函数 ftell 用于得到文件位置指针当前位置相对于文件首的偏移字节数
1 0
- c语言二进制文件加密
- C语言二进制文件读写
- C语言二进制文件读取
- C语言读写二进制文件
- C语言读取二进制文件
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言中二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- C语言实现二进制文件读写
- Huffman编码与译码
- 屏蔽后退键
- 有关网络包长度与校验和的研究
- C++与C的输出对齐
- JPA调用存储过程的方法
- c语言二进制文件加密
- 高阶函数应用
- Java EE V7.0学习笔记- 安装 WebSphere Developer Tools
- 远程桌面问题
- notePad++常用快捷键
- Activity启动过程源码分析
- 提示音量增加事件
- SSM框架 SSM项目源码 SSM源码
- Git(三)远程仓库操作