在C / C ++程序中读取加密文件时保留密码

时间:2014-03-03 11:54:35

标签: c++ c encryption

我需要在C ++程序中打开并读取加密文件。我是否需要在程序中保留密码?用户是否能够在反汇编程序时获取密码?

让用户远离密码的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

如果您只是将密码硬编码,那么,是的。通过一些反汇编,很容易获得密码(你甚至不需要完全拆解,只需要获取字符串)。 您可以尝试以某种方式对密码进行模糊处理,例如计算创建密码的哈希(这非常简单)。 最后,如果你给某人一个加密文件和一个打开该文件的程序,你就无法真正隐藏这些信息。

答案 1 :(得分:0)

另一种简单的解决方案(仅提供非常基本的安全性 - 可能会成功攻击黑客)

  1. 在用户无权限的目录中创建密码文件。
  2. 仅为用户提供对可执行文件的执行权限,但使用setuid以便他们可以像您一样运行可执行文件。
  3. 在exe中读取保存在只有你有权限的目录中的文件的密码。 (在步骤1中创建)。