【问题标题】:What is the best way to store a password in Java swing? [closed]在 Java swing 中存储密码的最佳方法是什么? [关闭]
【发布时间】:2020-09-09 23:50:45
【问题描述】:

我正在尝试制作自己的密码管理器,并且我想使用某种加密/散列算法存储我输入的密码。我研究了什么是最好的,每个人似乎都有不同的看法。最好将它们保存在数据库中还是本地程序中?什么是密码的最佳哈希算法?我看到有 BCrypt 和 SCrypt 之类的东西,但我无法确定什么是最好的。

【问题讨论】:

  • Swing 与这个问题无关。问题是关于存储密码的,而 Swing 不是一种存储东西的技术。

标签: java encryption hash passwords


【解决方案1】:

我研究过什么是最好的,但每个人似乎都有不同的看法。

显然! (见下文)

最好将它们保存在数据库中还是本地程序中?

使用种子散列的目的是让攻击者难以掌握数据。他们现在必须使用“蛮力”方法来查找与密码匹配的明文密码。正确实施的播种意味着必须为每个单独的散列而不是批量执行此操作;例如使用所谓的“彩虹表”。

但事实仍然是,如果攻击者能够窃取哈希和种子,他们可能会破解任何弱密码。

所以“本地”与“数据库”实际上取决于哪一个提供更安全的存储。这不是我们可以回答的。这取决于这两个选项在 >>您的

什么是密码的最佳散列算法?

目前被认为是安全的任何加密哈希算法都可以。 “最好”是见仁见智的问题。

我看到有 BCrypt 和 SCrypt 之类的东西,但我无法得到最好的确切答案。

其中任何一个都可以。

“最好”是见仁见智的问题。

您能够获得确定性答案的唯一方法是,如果您可以使用时间机器,穿越到 100 年左右的未来,然后阅读 IT / 安全历史书籍以了解最后破解了哪些哈希算法/实现。

我的建议:如果您无法决定,请使用“二元钱币决策设备”1 在似乎最好的替代方案之间进行选择......根据您之前的(希望广泛!)研究。

这里有一些链接可以帮助您进行研究:

最后,您应该考虑使用密码/密码管理器尝试保护的内容。是否重要到足以证明大量实施工作的合理性?


1 - 掷硬币 ...

【讨论】:

    猜你喜欢
    • 2022-01-25
    • 2012-12-29
    • 1970-01-01
    • 1970-01-01
    • 2013-11-24
    • 2020-08-10
    相关资源
    最近更新 更多