在Windows C ++上保护数据文件

时间:2014-10-29 06:13:00

标签: windows security c++11 file-io

您好我正在寻找一种在Windows上保护文件的好方法。目前我正在使用C ++编写和读取文件到Windows:

写:

string filePath = GetStorageFilename(SomeFileName);

ofstream dataFile;
dataFile.open(filePath, ios::out | ios::binary);
dataFile.write((char*)data.data(), data.size());
dataFile.close();

读:

using std::basic_ifstream;
using std::istreambuf_iterator;

auto fileName = GetStorageFilename(dataDescriptor);
basic_ifstream<uint8_t> file(fileName, ios::binary);
return ByteVector((istreambuf_iterator<uint8_t>(file)), istreambuf_iterator<uint8_t>());

我想知道是否有更好的方法,因为这是敏感数据。本质上,数据已经在安全环境中加密。但我希望有一种方法可以防止非管理用户写入数据并读取数据,即使数据已经加密。它需要管理权限才能防止拒绝服务方案。

谢谢,

1 个答案:

答案 0 :(得分:0)

最简单的解决方案是使用已经限制为管理用户的目录。您是指内置管理员帐户,还是在自己的程序中具有管理角色?在第一种情况下,您可以按原样使用NTFS安全性。如果没有,您将需要创建自己的“FooAdmin”组,创建一个限制为“FooAdmin”成员的目录