保存用户名&桌面应用中的密码

时间:2013-05-07 06:09:48

标签: java swing security cookies passwords

我正在创建一个框架,其中包含两个用于用户名和文本字段的文本字段。其他用于密码,还有一个登录按钮。

现在我想将我的登录信息存储一段指定的时间,以便下次当用户打开我的框架时,他将能够检索他的登录信息。我知道这可以通过cookies,我需要知道如何在我的框架中应用这个概念。

我的应用程序是基于Windows的应用程序,没有链接到浏览器。

如何实现此功能?

2 个答案:

答案 0 :(得分:2)

您可以通过多种方式向系统发送客户信息......

你可以

使用Properties,它允许您指定信息的键/名称对,可以加载并保存到文件中。

你可以

使用与Properties API相似的Preferences API,除了您获得内部持久性(您不需要读/写文件),分组(您可以拥有)的好处多次指定key,只要它在不同的组中)

作为旁注。您不应以任何可能检索的方式存储密码。相反,你应该使用类似MD5哈希的东西存储并比较哈希。有关详细信息,请参阅Convert MD5 into String in java

答案 1 :(得分:0)

您可能希望使用临时文件来编写用户详细信息。 文件tempFile = File.createTempFile(“temp-file-name”,“。tmp”); 用户下次访问时,您可以从该临时文件中读取数据。 此外,您可以隐藏临时文件以提高数据安全性。

临时文件名似乎附加了一个随机数,因此最好自己创建一个临时文件。

此代码段可能会对您有所帮助。

try {
        String tempDir = System.getProperty("java.io.tmpdir");
        File tempFile = new File(new File(tempDir), "userDetail.tmp");
        if(tempFile.exists()){//This is subsequent login 
            //Write your code to read file and 
            //your application logic
        }else{ //This is first login 
            tempFile.createNewFile();
            //Write your logic to write data to the file 
        }

    } catch (Exception ex) {
        ex.printStackTrace();
    }

您可以重构代码以适合您的设计。