首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在加密文件中存储密码

在加密文件中存储密码
EN

Stack Overflow用户
提问于 2012-02-16 20:17:26
回答 3查看 1.1K关注 0票数 2

我正在编写这个Java桌面应用程序(没有互联网连接),它需要几个单独的帐户,我需要将登录信息存储在一个可以访问以检查密码的文件中。

我不知道该怎么做,你怎么能在看不到别人密码的情况下读取加密文件呢?

EN

回答 3

Stack Overflow用户

发布于 2012-02-16 20:37:34

您永远不需要解密密码。您需要保存用户名、摘要密码和盐。盐是非常重要的,因为如果你不使用它,很容易得到一个彩虹表的密码。

当你保存密码时,你需要生成一个随机的盐。然后将其与密码连接起来,并对其进行摘要。然后存储用户名、摘要密码和盐。

当您想要检查密码时,您可以将用户编写的密码与为该用户存储的盐连接起来,对其进行摘要,并将其与保存的摘要密码进行比较。

要小心使用您将使用的摘要算法。SHA-XX不错,默认情况下它包含在java中。

票数 2
EN

Stack Overflow用户

发布于 2012-02-16 20:24:38

最常见的解决方案不是加密文件,而是加密存储的密码。您可以使用单向加密算法(这使得加密容易,难以解密,并保证加密密码的唯一性,因此两个不同的密码不会产生相同的加密字符串)。当用户再次提交其密码时,您将对其提交的密码进行加密,并将加密后的密码与存储在您的文件中的密码进行比较。

票数 0
EN

Stack Overflow用户

发布于 2012-02-16 20:21:04

一种常见且安全的方法是按如下方式进行:

  • 将“用户名”存储为clear,密码存储为SHA-1 digest (或类似)。
  • 当用户登录时,使用SHA-1算法对密码进行摘要,并将结果与文件中的密码进行比较。如果SHA-1字符串匹配,则密码正确。

这可以确保有权访问该文件的人不知道密码(因为MD5是不可逆转的),并且不能登录应用程序。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9311124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档