我正在尝试使用 windows.h 和 wincrypt.h 库构建一个简单的应用程序,以便加密一些字符串。
当我调用该函数时,CryptProtectData(&input, NULL, NULL, NULL, NULL, 0, &output);
我得到错误:
error: undefined reference to `_imp__CryptProtectData@28'
我在网上搜索了很多,但没有找到太多。我还意识到 Chromium 浏览器使用与我类似的代码来加密和解密其登录信息,我并没有做不同的事情。
我正在使用 QtCreator IDE 来编译我的代码。
我的一些代码:
std::string plaintext="Some plain text";
DATA_BLOB input;
input.pbData = const_cast<BYTE*>(
reinterpret_cast<const BYTE*>(plaintext.data()));
input.cbData = static_cast<DWORD>(plaintext.length());
DATA_BLOB output;
BOOL result = CryptProtectData(&input, NULL, NULL, NULL, NULL,
0, &output);
编辑:忘了提到我已经包含了 windows.h 和 wincrypt.h 库,当然。