簡體   English   中英

如何在GitHub(Java)上隱藏MySQL連接字符串-用戶名和密碼

[英]How to hide MySQL Connection String- Username and Password on GitHub (Java)

我一直在努力尋找解決當前困境的方法。 因此,我正在做一個創建一個簡單POS系統的小項目,並且我使用Oracle MySQL數據庫來存儲諸如用戶密碼,商品名稱,價格等信息。我正在使用Amazon AWS作為主機。 當我在代碼中連接到它時,我使用

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

一些用戶名,somepassword和Amazon主機url是我的代碼中的真實值,出於明顯的原因,我只是在使用它。

現在,如果我將代碼上傳到github,那么我的MySQL連接將變為公共連接,人們可以連接到它。 如何隱藏此信息,但仍將代碼上傳到github? 我一直在網上尋找,但是如果有人可以幫助我解決這個問題,那我將只能看到有關PHP的解決方案。

屬性文件

它可以用於基於屬性鍵獲取屬性值。 Properties類提供了從屬性文件獲取數據並將數據存儲到屬性文件中的方法。 而且,它可以用來獲取系統的屬性。

屬性文件的優點

如果從屬性文件中更改了信息,則不需要重新編譯:如果從屬性文件中更改了任何信息,則無需重新編譯java類。 它用於存儲經常更改的信息。

要從屬性文件中獲取信息,請將屬性文件名稱創建為.dbconfig.properties

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

.gitignore文件會忽略你的dbconfig.properties同時推到公共倉庫有關進一步的參考gitinore REF: 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){
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM