想利用ASCII码偏移的方法给一个txt文件加密,但是能力有限,没想出来,想参考大家的做法。
2条回答 默认 最新
- a5156520 2022-05-17 17:22关注
下面是一个实现,供参考:
#include <stdio.h> //编码加密 void encode(char * path,char *outpath){ FILE * fp = fopen(path,"r"); if(fp==NULL){ printf("打开源文件失败!\n"); return ; } FILE * outfp= fopen(outpath,"w"); if(outfp==NULL){ printf("打开加密文件失败!\n"); return ; } char str[512]; //默认文件最多512个ASCII码 int i=0; printf("%s源文件的内容为:\n",path); while(feof(fp)==0){ //如果文件没有结束 fscanf(fp,"%c",&str[i]); //从源文件读取一个字符 printf("%c",str[i]); //打印源文件的内容 fprintf(outfp,"%c",str[i]+25);//文件ASCII码加25进行简单加密 i++; //存入str数组下一个字符位置 } //关闭源文件和加密文件 fclose (fp); fclose(outfp); } //解密 void decode(char * outpath){ FILE * outfp= fopen(outpath,"r"); if(outfp==NULL){ printf("打开加密文件失败!\n"); return ; } printf("\n%s文件的解密后的内容如下:\n",outpath); int i=0; char str[512]; while(feof(outfp)==0){ fscanf(outfp,"%c",&str[i]); //读取一个字符从加密文件 printf("%c",str[i]-25); //打印解密后的文字 i++; } fclose(outfp); } int main(void){ encode("source20220517.txt","source20220517jiami.txt"); decode("source20220517jiami.txt"); }
在编译好的exe目录新建两个文件:一个是source20220517.txt为要加密的文件,一个source20220517jiami.txt存放加密后的文件
测试source20220517.txt的内容如下:北京上海广州经济发达!
运行结果:
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
- ¥15 MATLAB中streamslice问题
- ¥15 如何在炒股软件中,爬到我想看的日k线
- ¥15 51单片机中C语言怎么做到下面类似的功能的函数(相关搜索:c语言)
- ¥15 seatunnel 怎么配置Elasticsearch
- ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
- ¥15 (标签-MATLAB|关键词-多址)
- ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
- ¥500 52810做蓝牙接受端
- ¥15 基于PLC的三轴机械手程序