簡體   English   中英

如何為桌面Java應用程序加密配置文件

[英]How to encrypt configuration files for a desktop java application

我正在開發一個桌面JavaFX應用程序,並計划將數據庫和服務器連接詳細信息放入Windows計算機上一個隱藏文件夾中的配置文件中。

連接詳細信息將包含密碼。 我知道這些不應該是純文本格式,那么我應該如何加密它們,以便只有應用程序才能讀取它們?

我將嘗試使用本機安裝程序來保護源代碼。 關於保護Java桌面應用程序的任何建議都很好,我對安全性的了解不多

安全加密的基礎是,一個秘密不會存儲在磁盤上,而只能由用戶知道。 如果您不能使用它,則只能嘗試混淆 ,即存在所有信息,但更難閱讀。

在這里,您可以使用應用程序已知的密碼加密數據,將密碼存儲在不同的變量中,然后在運行時:

  • 組裝密碼
  • 讀取和解碼配置
  • 如果可以進行最后的操作,則擦除包含密碼的變量(不確定使用純Java)

但這並不能保護准備好分析Java字節碼的用戶所得到的數據,而只是需要非常繁重的工作-這就是為什么它不是安全性而只是廢止的原因。

普通加密在某處需要一個密鑰(文件),這並不是很難。

但是,如果要完全動態地執行此操作,而無需跟蹤其中包含一些密鑰文件的jar(zip格式)。 然后使用

Random random = new Random(42_424_242);

帶數字的Random構造函數會選擇固定的隨機序列,因此,您現在有了一個數字序列來加密/解密字節序列,例如用戶xor-ing,

bytes[i] = (byte) (bytes[i] ^ random.nextInt(256));

並非無與倫比,但需要黑客入侵。

暫無
暫無

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

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