gpt4 book ai didi

c++ - 在已编译的 C 或 C++ 代码中加密密码

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:03:16 42 4
gpt4 key购买 nike

我知道如何在终端中使用 GCC 和 CC 编译 C 和 C++ 源文件,但是我想知道在编译后在这些文件中包含密码是否安全。

例如..我检查用户输入的特定密码,例如 123,但编译的 C/C++ 程序似乎可以被反编译。

有没有办法编译 C/C++ 源文件,同时完全隐藏源代码……如果没有,谁能提供一个加密输入的小例子,然后检查密码,例如:(SHA1,MD5)

最佳答案

不,您不能在源文件中安全地包含密码。可执行文件中的字符串是纯文本,任何人只要有文本编辑器就可以轻松查看您的密码。

一种不太安全但会践踏某些人的方法是存储加密字符串。所以,基本上:

enc = "03ac674216f3e15c761ee1a5e255f067953623c8b388b4459e13f978d7c846f4"

bool check() {
pass = getPassFromUser();
encpass = myHashingFunction(pass);
return pass == encpass;
}

这会阻止一些人,但实际上并没有更安全,对于汇编黑客来说,将可执行文件中的“enc”字符串替换为另一个具有已知明文值的 sha256 编码字符串相对微不足道。

即使您使用单独的身份验证服务器,也不难设置伪造的身份验证服务器并欺骗您的程序连接到该伪造的身份验证服务器。

关于c++ - 在已编译的 C 或 C++ 代码中加密密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3036134/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com