我剛剛意識到在我的可執行文件中沒有最好的方法來隱藏MySQL字符串連接密碼,尤其是在JAR文件中。即使在EXE中對它進行加密也只會減慢進程速度(儘管我不確定從EXE文件獲得加密密碼需要多長時間)。創建數據庫桌面應用程序的正確方法是什麼?
所以,從我的理解,我需要在中間的東西,將添加,編輯,刪除等數據庫。看起來像REST API或SOAP服務的工作。
我的問題是,我應該使用哪一個?還是應該使用別的東西?我正在考慮Zend Framework來創建這些REST API。然後,我會使用Qt創建一個桌面應用程序來調用這些API。但是如果我繼續使用REST,我的應用程序將是一個3層應用程序。如果我只是創建一個Web應用程序,會不會更好?也許我應該堅持桌面應用程序調用這些API,因爲應用程序已經完成了,我只需要從直接連接到MySQL變成調用這些API來執行任務,而不是將整個應用程序更改爲網絡。
任何建議將是非常有益的。提前致謝。
UPDATE:
我正在尋找一個安全將保護我的MySQL密碼連接。
混淆器只會混淆代碼,它不會隱藏我的字符串數據庫信息。在我看來,使用工具(如JAD)反編譯JAR後,可以使用grep輕鬆找到它。
關於我的應用程序:
- 使用集中MySQL數據庫
- 成千上萬的用戶
- 包含敏感信息
- 我的客戶使用Linux和Windows
- 我的服務器使用Linux
- 所有訪問都在局域網中完成,沒有外部連接(來自Internet等)
我目前的解決方案(意見請):
- 使用REST的API(更安全,因爲MySQL的密碼是在服務器)
- 使用Qt使用加密的密碼
讓REST API在沒有任何身份驗證的情況下被調用並不比「嵌入」密碼更安全。 – 2010-07-03 10:27:39
如果REST API不是一個好的解決方案,我會考慮一些授權,那麼,你有什麼建議? – amree 2010-07-03 10:55:52