[英]How to encrypt configuration files for a desktop java application
我正在開發一個桌面JavaFX應用程序,並計划將數據庫和服務器連接詳細信息放入Windows計算機上一個隱藏文件夾中的配置文件中。
連接詳細信息將包含密碼。 我知道這些不應該是純文本格式,那么我應該如何加密它們,以便只有應用程序才能讀取它們?
我將嘗試使用本機安裝程序來保護源代碼。 關於保護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.