亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

加密數據庫登錄信息mySQL連接器

加密數據庫登錄信息mySQL連接器

慕碼人8056858 2023-07-19 14:57:57
我是編程新手,有點迷失。我正在構建一個桌面應用程序,啟動后提示用戶登錄,然后該應用程序連接到我的站點 mySQL 數據庫并驗證它,如果找到用戶,則會出現第二個 JFrame,用戶現在可以使用程序。我沒有想到這一點,但現在我面臨著有人反編譯應用程序并訪問 mySQL 連接詳細信息的問題。這是連接代碼的精簡版本以供參考。import java.sql.Connection;import java.sql.DriverManager;public class databaseConnection {public static void main(String[] args) throws Exception {    getConnection();}public static Connection getConnection() throws Exception {    try {        String driver = "com.mysql.jdbc.Driver";        String url = "jdbc:mysql://localhost:3306/dbase";        String username = "root";        String password = "root";        Class.forName(driver);        Connection conn = DriverManager.getConnection(url,  username, password);        System.out.println("Connected.");        return conn;    } catch (Exception e) {        System.out.println(e);    }    return null;}}有沒有辦法隱藏或加密網址、用戶名和密碼?我知道沒有什么是絕對安全的,這只會讓那些有惡意的人變得更加困難,但直接將信息留給任何人看似乎有點愚蠢。
查看完整描述

1 回答

?
九州編程

TA貢獻1785條經驗 獲得超4個贊

沒有好的方法可以解決此問題,這就是為什么您看不到許多桌面程序連接到中央數據庫(不再)的原因。您的程序中包含的任何憑據都是可見的。當然,您可以使用任意數量的時間來發明“安全方案”,但這不會改變它不安全的事實。

基本上可以通過三種方法來避免這些問題。將您的應用程序設置為網絡應用程序,以便用戶無法訪問代碼,讓您的用戶使用自己的憑據設置自己的數據庫(如果您希望所有用戶都能夠相互交換信息,這顯然沒有幫助)或第三,編寫一個后端層,這樣桌面客戶端就不會直接連接到數據庫。然后,他們會將命令發送到后端以執行數據庫操作,并且您可以控制后端憑據以允許連接到您想要的人。


查看完整回答
反對 回復 2023-07-19
  • 1 回答
  • 0 關注
  • 106 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號