我正在制作一个无法连接到互联网的独立 exe 应用程序。有一个“密码保护”的“编辑模式”,但 c++ 中的机制(我用它编写)看起来像:
string passwd = getString();
if(password=="something"){//do stuff}
其中“某物”是我的真实密码。所以我知道它是否被逆向工程或密码很容易获得。
该程序无法连接到互联网,如果用户发现了密码,那只会带来轻微的不便。有没有更安全的方法,或者这就足够了?据我所知,没有任何东西是加密的。
我正在制作一个无法连接到互联网的独立 exe 应用程序。有一个“密码保护”的“编辑模式”,但 c++ 中的机制(我用它编写)看起来像:
string passwd = getString();
if(password=="something"){//do stuff}
其中“某物”是我的真实密码。所以我知道它是否被逆向工程或密码很容易获得。
该程序无法连接到互联网,如果用户发现了密码,那只会带来轻微的不便。有没有更安全的方法,或者这就足够了?据我所知,没有任何东西是加密的。
使用加盐哈希,就像在连接到 Internet 的工具中一样。
显然,如果攻击者在他们自己的系统上安装了软件,他们可以修改它并完全删除密码。但是他们只是在他们自己的系统上破解它。
如果密码是加盐散列,他们将只知道加盐散列,而不知道实际密码。
应该有在 C++ 中计算加盐哈希的实现,您可以使用它来验证用户输入的密码。因此您不必自己编写。即使您的应用程序没有连接到互联网,这仍然是需要考虑的事情。您的应用程序可能不会上网,但运行它的计算机可能确实有连接,并且容易受到攻击 - 它仅与运行它的计算机一样安全。