【问题标题】:Storing a Password String in the Code在代码中存储密码字符串
【发布时间】:2011-05-16 17:33:37
【问题描述】:

我知道如何使用单向哈希算法将密码保存在数据库中。但就我而言,我需要纯文本密码才能登录服务(Dropbox API)。

所以如果我想创建一个应用程序,它总是使用相同的用户名/密码登录 Dropbox(例如,对于客户端),我将如何将用户密码保存在我的 Java 代码中,这样就不容易读取使用 HexViewer?

应该是对String进行加解密的东西,但是不能绑定到单机上。

【问题讨论】:

  • 您无法对其进行加密 - 您将在哪里存储 加密密钥?如果 Dropbox 支持直接传递散列(而不是明文密码),你唯一的选择是散列它。
  • @Vladislav 如果 Dropbox 支持直接传递哈希,用户就不能像密码一样使用哈希吗?
  • Hmmmm...我没有直接在这里思考,对此感到抱歉。如果您不向用户询问任何内容,则它是不安全的。您可以将密码存储在钥匙串中,但您必须要求输入钥匙串的密码。我想您可以将其存储在某些 Windows 商店中,但用户仍然需要登录(提供密钥)。
  • 实际上,如果 Dropbox 支持它,那将破坏哈希的整个概念,即:当有人从 Dropbox 窃取密码哈希数据库时,他们仍然无法登录您的帐户

标签: java passwords encryption


【解决方案1】:

好吧,使用 DES 或 AES 加密密码,将密钥保存在 jar 中,仅在需要时解密。但是如果有人需要,他会很容易地反转这个并提取您的登录名和密码。

【讨论】:

【解决方案2】:

只要你在你的程序中需要明文,就不能确定。无论您做什么,您的程序都可能被分析、反编译、在“受损”的 VM 中运行,等等。

【讨论】:

    猜你喜欢
    • 2022-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-17
    相关资源
    最近更新 更多