내 Java 프로그램에서 외부 콘솔 응용 프로그램과 통신하려고하는데 암호를 전달해야합니다.ProcessBuilder를 통해 합리적인 데이터 전달
내 질문은 암호가 ProcessBuilder() 인수 목록의 일반 텍스트로 전달된다는 것입니다. 내 말은, 누군가 그 메시지를 가로 챌 수 있다는거야? 이를 달성하는 더 안전한 방법은 무엇입니까?
는ArrayList<String> lstArgs = new ArrayList<String>();
lstArgs.add("program.exe");
lstArgs.add("password");
ProcessBuilder pb = new ProcessBuilder(lstArgs);
pb.start();
예를 들어 암호가 하드 코드 된 경우 누군가 프로그램에서 바이트 코드를 가져올 수 있습니다. – azurefrog
* "ProcessBuilder() 내에서 암호를 일반 텍스트로 전달하는 것이 안전합니다."* - 아니요,하지만 선택 사항은 무엇입니까 ... 또한 Windows에서는 전달 된 매개 변수를 실제로 결정할 수 있습니다 프로세스에 ... 보안을 덜어줍니다. – MadProgrammer
명령에서 암호를 읽을 수있는 사람은 누구나 처음부터 프로세스에서 문자열을 읽을 수 있습니다. – SLaks