是否有很好的C 实现安全字符串

Is there a good C++ implementation of Secure Strings

本文关键字:实现 安全 字符串 很好 是否      更新时间:2023-10-16

我想知道,是否有一些很好的实现C#Securestring类的某种对应物?

我已经在字节上使用XOR操作找到了一些东西,但这对我来说似乎太容易了。

至少C 加密库Crypto 和Botan都为'安全字符串'提供了帮助者。该功能可能有更多的库。

在Crypto 中,您可以使用:

#include <string>
#include <cryptopp/secblock.h>
using secure_string = std::basic_string<char, std::char_traits<char>, CryptoPP::AllocatorWithCleanup<char>>;

您之后创建的任何secure_string(基本上像其他常规std::string,即secure_string str("secret");一样声明(,将(在实践中*(将其内存归零。

botan具有安全的分配器,您将使用上一个示例中使用加密 分配器的方式,该示例也可以在Free上归零内存。

这里也有一个非常相似的问题,该问题涵盖了您如何实现自己的安全分配器的主题,如果出于某种原因,您不想包括外部库。


* std::string并未考虑安全。我建议阅读链接的答案以及有关如何以及为什么失败的相关材料。