给你个基本思路,具体的实现方法有很多,不知道你有什么需求
1. 二进制打开文件,一个一个字节读入
2. 对于读入的数据进行相应的处理
3. 处理之后用二进制打开新的文件,一个一个字节写入
解密也是相同的步骤
你可以尝试读一下实现 Huffman 编码的代码,既做到了加密,也做到了压缩
#include <stdio.h> #include <stdlib.h> #define KEY 0x11 /* 简单的可以使用异或加密,根据异或的特点 0^1=1,1^1=0,0^0=0 A^B=S; 第一次加密S为加密后的字符 S^B=A^B^B=A^0=A 第二次加密可见得到原来的数据 B则相当于密匙,即本程序的KEY */ //对单个字符加密 char encryptChar(char c){ c=c^KEY; return c; } //加密解密函数,调用一次加密,调用两次解密 char* encryptString(char *c){ char *p=c; while(*p!='\0'){ *p=encryptChar(*p); p++; } return c; } int main(){ char temp[128]; puts("请输入要加密的字符串:"); gets(temp); encryptString(temp); //加密 puts("加密后的字符串为:"); puts(temp); encryptString(temp); //解密 puts("解密后的字符串为:"); puts(temp); return 0; }
[此贴子已经被作者于2018-1-11 15:30编辑过]