MySQL 密码安全
MySQL password security
我想构建一个 VB.NET 将连接到 MySQL 数据库的应用程序。
我正在考虑将 MySQL 密码放在 My.Setting 文件中,但这很容易阅读。将密码放在程序上的最安全方法是什么?
我不想在启动时要求它,我希望它嵌入到软件中,但是在哪里?
Wellll.....如果它以自动程序可读的格式存储(也就是,用户无需输入任何类型的密码或凭据即可使应用程序使用所述数据库密码) ,那么就没有完全 "safe" 的方法,因为任何一种有意义的加密都需要用户输入一些凭据来检索加密信息。您可以将它作为 Base64 文本存储在模块中以进行混淆,但这根本不是 "safe."。它只是编码不同(未加密)。
对我来说更大的问题是,环境安全吗?例如,在网站的后端,sql 数据库的密码通常 明文 存储在 php 配置文件中...但是那是因为 环境 是安全的:public 无法获取 php 源,并且假定可以访问后端的受信任用户是非恶意的。
因此,这引发了一些问题:
- 应用程序运行来自哪里?
- MySQL 数据库在哪里,本地还是远程?
- 有多少人可以访问此数据库或将使用此应用程序?
这些都是应该考虑的因素。
另一件事 - 如果您正在构建 .NET 应用程序,则有某些 .NET 代码混淆器会与您编译的代码一起玩,使其在编译后很难被掠夺。您可能对此感兴趣。我相信 Dotfuscator 附带 Visual Studio 标准?您可以向他们注册一个免费帐户。
我想构建一个 VB.NET 将连接到 MySQL 数据库的应用程序。 我正在考虑将 MySQL 密码放在 My.Setting 文件中,但这很容易阅读。将密码放在程序上的最安全方法是什么? 我不想在启动时要求它,我希望它嵌入到软件中,但是在哪里?
Wellll.....如果它以自动程序可读的格式存储(也就是,用户无需输入任何类型的密码或凭据即可使应用程序使用所述数据库密码) ,那么就没有完全 "safe" 的方法,因为任何一种有意义的加密都需要用户输入一些凭据来检索加密信息。您可以将它作为 Base64 文本存储在模块中以进行混淆,但这根本不是 "safe."。它只是编码不同(未加密)。
对我来说更大的问题是,环境安全吗?例如,在网站的后端,sql 数据库的密码通常 明文 存储在 php 配置文件中...但是那是因为 环境 是安全的:public 无法获取 php 源,并且假定可以访问后端的受信任用户是非恶意的。
因此,这引发了一些问题:
- 应用程序运行来自哪里?
- MySQL 数据库在哪里,本地还是远程?
- 有多少人可以访问此数据库或将使用此应用程序?
这些都是应该考虑的因素。
另一件事 - 如果您正在构建 .NET 应用程序,则有某些 .NET 代码混淆器会与您编译的代码一起玩,使其在编译后很难被掠夺。您可能对此感兴趣。我相信 Dotfuscator 附带 Visual Studio 标准?您可以向他们注册一个免费帐户。