如何在GitHub(Java)上隐藏MySQL连接字符串-用户名和密码

林凯文:

我一直在寻找解决当前困境的方法。因此,我正在做一个创建一个简单POS系统的小项目,并且我使用Oracle MySQL数据库存储诸如用户密码,商品名称,价格等信息。我正在使用Amazon AWS作为主机。当我在代码中连接到它时,我使用

Connection conn=DriverManager.getConnection("amazon host url","some username","somepassword");

一些用户名,somepassword和Amazon主机url是我的代码中的真实值,出于明显的原因,我只是在使用它。

现在,如果我将代码上传到github,那么我的MySQL连接将变为公共连接,人们可以连接到它。如何隐藏此信息,但仍将代码上传到github?我一直在网上寻找,但是如果有人可以帮助我解决这个问题,那我将只能看到有关PHP的解决方案。

卡拉塞万:

属性文件

它可以用于基于属性键获取属性值。Properties类提供了从属性文件获取数据并将数据存储到属性文件中的方法。而且,它可以用来获取系统的属性。

属性文件的优点

如果从属性文件中更改了信息,则不需要重新编译:如果从属性文件中更改了任何信息,则无需重新编译java类。它用于存储经常更改的信息。

要从属性文件中获取信息,请创建属性文件Name为 .dbconfig.properties

 #DB Properties
 db.driver="driverclassname"
 db.url=jdbc:mysql://localhost:3306/YOURDBNAME
 db.username=USERNAME
 db.password=PASSWORD

.gitignoredbconfig.properties在推送到公共存储库以获取有关gitinoreref的进一步参考时,文件将忽略您https : //git-scm.com/docs/gitignore

.gitignore文件

 /resources/dbconfig.propreties/

Java类从Java文件中的属性文件读取数据

 private ResourceBundle reader = null;
 try{ 
     reader = ResourceBundle.getBundle("dbconfig.properties");
     Connection conn=DriverManager.getConnection(reader.getString("db.url"),reader.getString("db.username"),reader.getString("db.password"));
 }catch(Exception e){
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章