C++编程 加密解密,封装,主要是文件读取和打开,菜鸟一个,最好有较详细的解释

需求:
步骤
1: 将 字符串 bill billapp 加密后,写入文件 login.txt 文件里
2: 读文件login.txt ,然后 解密。
3: 将解密后的文件打印出来。
注释:用类来封装。
急求一个简单的代码。

#include <stdio.h>
#include <string.h>
#define PATH_MAX (256)
#define BUF_MAX (1024)
// 获取一个字符的前高4位与低4位
#define LOW(ch) (ch & 0x0F)
#define HIGH(ch) ((ch >> 4) & 0x0F)
void main()
{
int i, count = 0;
// 明文文件
char path_in[PATH_MAX] = "C:\\in.txt";
// 密文文件
char path_out[PATH_MAX] = "C:\\out.txt";
char buffer[BUF_MAX];
char ch;
FILE * pIn = NULL, * pOut = NULL;

// 打开要加密的文件
pIn = fopen(path_in, "rt");
pOut = fopen(path_out, "wt");

do {
fgets(buffer, BUF_MAX, pIn);
count = strlen(buffer);

// 读取的数据为0,结束加密操作
if (count == 0)
{
break;
}
// 对读取的数据进行加密
for (i = 0; i < count; i++)
{
ch = (LOW(buffer[i]) << 4) | (HIGH(buffer[i]));
buffer[i] = buffer[i] ^ ch;
}
buffer[i] = '\0';

// 加密后写入文件
fwrite(buffer, count, 1, pOut);
} while (1);

fflush(pOut);
fclose(pIn);
fclose(pOut);
}

有加密的,解密差不多,自已改,足够简单了追问

有问题啊。

追答

没,必须存在加密的文件,你看代码啊,需要在C盘里加一个in.txt的文件,里面放的是加密的数据

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-08-27
需要三个知识点,第一C++的类封装,第二,C++的文件操作,第三,加密解密原理。
三个知识点都会了,你的问题也就解决了。至于三个知识点,翻书或百度吧,代码终究要自己写的好。追问

急求一个简单的代码。

C++编程 加密解密,封装,主要是文件读取和打开,菜鸟一个,最好有较详细...
define HIGH(ch) ((ch >> 4) & 0x0F)void main(){ int i, count = 0;\/\/ 明文文件 char path_in[PATH_MAX] = "C:\\\\in.txt";\/\/ 密文文件 char path_out[PATH_MAX] = "C:\\\\out.txt";char buffer[BUF_MAX];char ch;FILE * pIn = NULL, * pOut = NULL;\/\/ 打开要加...

有一个软件二次开发包(SDK),需要用C++编程,不知道怎么调用SDK,请大师...
直接安装SDK的.exe程序,安装后会自动嵌入到你的C++软件里。然后你新建C++程序后,直接引用就可以了。添加引用:Add -> Add Reference -> Select 你的SDK类库。如果你的SDK包中没有.exe安装程序,那么可能是个类库,就是.lib文件。那么你将该文件复制到你新建的程序文件夹里,或复制到你的C++安装目...

相似回答