2013-04-20 83 views
1

我有一個install4j安裝程序,它有一個自定義屏幕,它提示用戶安裝軟件以提供用戶名/密碼。我知道安裝程序文本框將值保存到install4j變量,並將其保存到resource.varfile。什麼是存儲密碼的最佳方式?支持install4j中用戶名/密碼字段的最佳方式

我們有一種情況,IT管理員將安裝軟件,但實際用戶應該無法查看此密碼。

感謝

回答

1

「密碼」表單組件不寫它的價值,爲安全起見響應文件。如果選擇表單組件的「將編碼值寫入響應文件」屬性,則編碼值將寫入響應文件。這完全不安全,但可防止臨時用戶在響應文件中看到純文本密碼。

2

我打開了「將編碼值寫入響應文件」選項,該選項將編碼值寫入response.varfile。這種編碼是非常相似的爲Base64,但我花了一些時間,試圖解碼值,並沒有發現任何常見的做法,但想通了一些手工工作順序:

String encoded = appProps.password; 
    byte[] data = Base64.decode(encoded); 
    for (int i = 0; i<data.length; i++) { 
     data[i] = ((byte) (Math.abs(data[i])- 1)) ; 
    } 
    String decoded = new String(data); 

它測試的工作,但我可以不要解釋它,並保證它將在未來工作。 頁面page表示存在另一種基於保存到java首選項的方法,但它不是存儲密碼的安全方式。檢索密碼字段值的最佳做法是什麼?

相關問題