IT Share you

Java 응용 프로그램에서 사용자 설정을 저장하는 가장 좋은 방법은 무엇입니까?

shareyou 2020. 12. 8. 20:25
반응형

Java 응용 프로그램에서 사용자 설정을 저장하는 가장 좋은 방법은 무엇입니까?


Java 데스크톱 앱에서 사용자 설정을 안전하게 저장하는 가장 좋은 방법은 무엇입니까? 예를 들어 Ftp 계정 설정을 저장하려면 가장 좋은 방법은 무엇입니까?

감사


기본 설정 API는 사용자와 시스템 환경 설정을 저장할 수있는 좋은 방법입니다. 암호를 저장하려면 암호화해야합니다. 다음은 시작하는 데 도움이되는 멋진 기사입니다.

Java의 암호화 된 기본 설정


나는 일반적으로 사용자 데이터 디렉토리에 응용 프로그램 이름의 하위 디렉토리와 응용 프로그램 버전을 저장합니다.

public static String getUserDataDirectory() {
    return System.getProperty("user.home") + File.separator + ".jstock" + File.separator + getApplicationVersionString() + File.separator;
}

3 년 동안 다음 코드를 사용했습니다. 이 방법은 Windows, Linux 또는 Mac에서 매우 잘 작동합니다.

Program FilesWindows Vista 이상의 UAC는 많은 문제를 일으킬 수 있으므로 Windows에서는 절대 .

응용 프로그램 이름 앞에 점을 넣어 Linux에서 숨겨진 폴더가되도록하십시오.

이 방법을 사용하면 좋은 점은 원시 값을 저장하는 데 자신이 제한되지 않는다는 것입니다. 대신 xstream 을 사용하여 전체 개체 상태를 디스크에 저장할 수 있습니다.

예 :

public static boolean toXML(Object object, File file) {
    XStream xStream = new XStream();
    OutputStream outputStream = null;
    Writer writer = null;

    try {
        outputStream = new FileOutputStream(file);
        writer = new OutputStreamWriter(outputStream, Charset.forName("UTF-8"));
        xStream.toXML(object, writer);
    }
    catch (Exception exp) {
        log.error(null, exp);
        return false;
    }
    finally {
        close(writer);
        close(outputStream);
    }

    return true;
} 

단일 암호를 안전하게 저장하는 것은 매우 어렵습니다. 일부 비밀 키를 사용하여 암호를 암호화한다고 가정합니다. 그런 다음 응용 프로그램이 다시 시작되면 해당 비밀 키가 필요합니다. 어디에서 가져 옵니까?

사용자에게 물어 보면 처음에 저장 한 ftp 암호를 입력하는 것이 좋습니다. 어딘가에서 비밀 키를 읽으면 비밀 키를 보호해야합니다. 시작했던 곳으로 돌아 왔습니다.

여러 개의 암호를 유지하는 경우 사용자에게 일부 "볼트"에 대한 단일 암호를 요청하는 것이 훨씬 더 친근 할 수 있지만 만료 된 암호를 처리하는 모든 번거 로움을 겪게됩니다.

이 종류의 물건을 처리 할 수있는 제품이 있습니다. 심각한 필요가있는 경우 조사해야 할 것입니다.

참고 URL : https://stackoverflow.com/questions/3784657/what-is-the-best-way-to-save-user-settings-in-java-application

반응형