#include
#include
#include
using namespace std;
int main() {
string fileName;
class="superseo">cout << "输入文件路径:";
cin >> fileName;
fstream f;
f.open(fileName,ios ::in|ios::out|ios::binary); //以读写二进制打开文件
if (!f.is_open()) { //判断是否打开成功
cout << "打开文件失败";
return -1;
}
while (f.good()) { //判断当前是否有错误发送,没有则继续
int c = f.get(); //读一个字节,此时文件指针将前进一个
f.seekg(-1,ios::cur); //回退一个字节
f.put(~c); //将读到的字节取反加密,放如原位置
f.seekg(1,ios::cur);//前进一个字节
cout <<"已加密(解密)字节数量:" << f.tellg() << endl;//输出加密信息
}
if (f.eof()) { //判断当前是否在文件末尾
cout << "加密(解密)成功!" << endl;
}
else {
cout << "加密(解密)失败!" << endl;
}
f.close();
}
注意:
因为是使用的取反加密,所以加密和解密的程序相同由于是采用的字节加密,所以可以加密任何文件,如exe,视频,音乐等均可以 三、测试结果原文件:
加密后:
再对该程序运行一次,解密后:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)