Vb6 如何在代码中隐藏硬编码密码?

Vb6 如何在代码中隐藏硬编码密码?,vb6,decompiling,security-by-obscurity,Vb6,Decompiling,Security By Obscurity,我想在我的VB6代码中隐藏一个密码,这样即使通过反编译也无法显示它 这可能吗?如果您的程序以明文形式访问它,那么就可以以某种方式检索它。你最好从其他方面获得安全感。如何做到这一点实际上取决于您的具体应用程序。您必须在应用程序中存储密码吗?你能简单地存储一个预先计算的散列并与之进行比较吗?这取决于你将使用该密码做什么。如果你只需要检查它,你可以简单地使用一个非常强大的密码并将其散列(这样即使他们使用某种彩虹表,也很难找到它) 但是这样想吧,如果有人愿意反编译你的代码,他们可以完全破解你的应用程序,

我想在我的VB6代码中隐藏一个密码,这样即使通过反编译也无法显示它


这可能吗?

如果您的程序以明文形式访问它,那么就可以以某种方式检索它。你最好从其他方面获得安全感。如何做到这一点实际上取决于您的具体应用程序。您必须在应用程序中存储密码吗?你能简单地存储一个预先计算的散列并与之进行比较吗?

这取决于你将使用该密码做什么。如果你只需要检查它,你可以简单地使用一个非常强大的密码并将其散列(这样即使他们使用某种彩虹表,也很难找到它)

但是这样想吧,如果有人愿意反编译你的代码,他们可以完全破解你的应用程序,只需将该密码更改为另一个更简单的密码,他们知道散列


另一方面,如果您试图存储一个密码,以便可以将其反转(DB password?)并使用它,我会说您选择了错误的体系结构,您无法安全地让恶意用户查找您的密码。您应该创建一个“普通用户”无法访问的服务器端应用程序,以及一个将向您的服务器端应用程序发送请求的客户端应用程序。

通常的做法是根本不存储密码(尤其是不将密码硬编码到已编译的可执行文件中)。使用Windows集成安全性并使特定用户帐户或组可以访问受保护的资源。在该帐户下运行可执行文件。问得好。您希望如何存储密码?调暗变量并将其存储在其中?或者是一个带密码的常数?这些文件是通过内存破解还是反编译来读取的?我至少会尝试散列密码,这样它就不会完全暴露。除非您需要另一个应用程序或其他东西的原始密码。那么散列就不行了。@Tomalak:如果需要密码怎么办?例如,
.accdb
文件如果要加密,则需要有密码。@CJ7如果需要安全的数据库,则不使用Access。自鸣得意的评论,我知道,但事实就是这样。accdb安全性现在实际上还可以。问题在于旧的.mdb格式。如何检索它?可以检索任何代码吗?或者只有当它存储在内存中时?@Martin如果用户可以读取可执行文件,他们可以读取任何硬编码的值。当有人可以转到二进制文件并通过更改哈希来破解应用程序时,添加硬编码哈希有什么意义?如果您真的需要进行一些身份验证,那么应该创建某种“客户机-服务器”体系结构。