C++ 加密文本文件,允许通过 ifstream 使用解密

标签 c++ file encryption text

我正在寻找一种使用密码加密文本文件(在我的示例中是 .data 文件)并保存加密文件的非常简单的方法。

然后保存的文件将加载到我的应用程序中并使用相同的密码解密。然后我需要一种方法来以某种方式获取解密数据的句柄而不需要将其保存到文件中(我不希望用户看到解密数据,只有程序会拥有它并处理它然后它会被丢弃在程序结束时)。

检索数据后,我应该能够获得某种数据句柄并在 ifstream 中使用它,我现在使用它来解析我的文本数据文件,如下所示:

string line;
string filename = "hello.data";
ifstream myfile(filename); // <-- instead of providing filename directly,
//^^I'd need a handle to the decrypted data.

while ( getline (myfile,line) ){
    parse_line(line);
}

myfile.close();

在 C++ 中快速执行此操作的最好和最简单的方法是什么?没有任何外部库可以完成吗?只是最好使用 Windows Visual Express C++ 中提供的标准 C++ 工具可以完成的事情,而无需链接任何新库。但是,如果您确实知道需要第三方代码的软件,如果您觉得它易于快速学习,请将其发布。

最佳答案

一种非常简单(而且非常不安全)的加密方法是将密码短语与您的文本数据进行异或运算。解密是另一个具有相同密码的 XOR。您将需要重复密码短语直到文本数据结束。

请注意,这很容易被破解,但它提供了一个基本的加密层。

关于C++ 加密文本文件,允许通过 ifstream 使用解密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30422918/

相关文章:

c++ - 使用链接列表实现堆栈类以验证 xml 文件

c++ - Release() 和析构函数的区别?

java - 用Java将BsonDocument写入文件

c# - C#中System.IO.File.Copy和copy、xcopy、robocopy命令的一些问题

objective-c - 使用 SecTransform API(或其他系统 API)在 OS X 上进行 RSA 公钥解密

c++ - 使用深度测试正确渲染 OpenGL 中的表面

c++ - CImg库在编译时返回对 `__imp_SetDIBitsToDevice'的 undefined reference

php - 在 PHP 中读取文件的内存占用最少的方法

c# - 使用 java 和 WP7 进行 AES 加密

android - 密码算法 AES 和 AES_128 有什么区别