0
我正嘗試從我的Java程序與外部控制檯應用程序進行通信,並且我需要將密碼傳遞給它。通過ProcessBuilder傳遞合理的數據
我的問題是,在ProcessBuilder()參數列表中傳遞純文本密碼是安全的嗎?我的意思是,有人可以攔截該消息?什麼會是一個更安全的方式來實現呢?
謝謝
ArrayList<String> lstArgs = new ArrayList<String>();
lstArgs.add("program.exe");
lstArgs.add("password");
ProcessBuilder pb = new ProcessBuilder(lstArgs);
pb.start();
我想如果你的密碼是硬編碼的,就像你的例子,有人可以將它從你的程序的字節碼中提取出來。 – azurefrog 2014-10-30 20:34:20
*「是,在ProcessBuilder中以純文本傳遞密碼是安全的()」* - 否,但是您有什麼選擇......另外,在Windows上,可以真正確定傳遞的參數到一個進程...使其更加安全...... – MadProgrammer 2014-10-30 20:34:43
任何能夠從命令中讀取密碼的人都可以首先從您的進程中讀取字符串。 – SLaks 2014-10-30 20:39:06