加密连接字符串,如何?

Posted

技术标签:

【中文标题】加密连接字符串,如何?【英文标题】:Encrypt a connection string, how? 【发布时间】:2012-01-02 10:21:43 【问题描述】:

我想在我的 database.java 类中加密/隐藏我的连接字符串。我已经搜索了互联网,但我没有找到任何有用的东西,也许我搜索了错误的关键字?这是我当前的代码。

conn = DriverManager.getConnection("jdbc:mysql://database/db", "username", "password");

如何隐藏用户名和密码?所以只有我的应用程序可以看到它?而且解压罐子的时候看不到?

谢谢。

【问题讨论】:

【参考方案1】:

加密连接字符串不是你需要的!我想您需要一种更好的方式来存储您的密码。为此,您应该将密码存储在应用程序启动时读取的单独文件中。这是防止密码因反编译而泄漏的唯一真正方法。

看到这个答案:From a similar question

【讨论】:

【参考方案2】:

您可以在方法中对字符串进行字节尾编码,并使该方法返回一个字符串。如果您希望可以添加使用输入字节提取实际字符串的加密算法。

【讨论】:

正如 Sanjay 在下面指出的那样,这是一种更好的方法。使用加密 api 从应用程序附带的属性文件中提取用户名、密码和 url。这样你还可以实现一些许可功能..(这有点复杂) 我想在这个答案中添加一件事:避免将加密密钥与加密数据一起存储。

以上是关于加密连接字符串,如何?的主要内容,如果未能解决你的问题,请参考以下文章

加密web.config中的连接字符串

.Net 加密

NodeJS 加密到 Postgres 的连接字符串

C# - 如何安全地存储 MySQL 连接字符串以便没人能看到它?

加密 app.config 中的连接字符串

在非 ASP.Net 应用程序中加密连接字符串