c++ - 如何在程序内存中隐藏纯文本?

标签 c++ encoding data-protection

<分区>

我正在编写将编码后的字符串加载到内存中并使用特殊算法对其进行解码的程序。

程序工作顺序:

  1. 从编码文件(base64 字符串)加载数据
  2. base64字符串解码为编码数据字符串(Rijndael 256)
  3. 解码编码数据字符串(Rijndael256)为纯文本代码
  4. 运行代码并将状态存储在数据结构中
  5. 从内存中删除纯文本
  6. ...

问题出在sequence #3 如果用户创建程序内存的转储,他可以获得必须安全的纯文本代码。 我的问题是 - 有什么方法可以保护内存中的纯文本字符串?

程序是用 C++ 编写的。

最佳答案

大概内存中需要纯文本,至少是短暂的,以便正确执行。如果在那一点上发生内存转储,是的,他们可以访问它,不,您对此无能为力。以尽可能短的时间以纯文本形式保存它会有所帮助,并且在完成后将内存“安全归零”。

关于c++ - 如何在程序内存中隐藏纯文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32354566/

相关文章:

ios - protectedDataAvailable 始终为 true

c++ - 是否可以在不对抽象的父类中的函数使用 virtual 关键字的情况下覆盖 C++ 子类中的函数?

c++ - 将类型 MatrixXd 转发到 VectorXd?

json - 从编码结构 Golang 中删除转义字符

c++ - 如何将二进制字符串转换成base64编码的数据

data-protection - 同意与第三方共享数据 [GDPR]

c++ - 我试图访问 C++ 多态类的 vtable,但由于核心转储而失败,为什么?

c++ - gp_camera_file_get 是如何工作的?

java - Spring mvc编码和 "???"符号而不是html中的utf-8符号

ios - 核心数据和数据保护