2011-11-20 106 views
2

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

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

如何隐藏用户名和密码?所以只有我的应用程序可以看到它?当你提取罐子时你看不到它?

谢谢。

回答

3

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

看到这个答案:From a similar question

0

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

+0

作为桑杰低于所指出的,这是一个更好的办法。使用加密API从应用程序附带的属性文件中提取用户名pwd和url。这样,你也可以实现一些许可功能..(这有点复杂) –

+0

我想添加到这个答案的一件事:避免存储与加密数据的加密密钥。 –