【发布时间】:2011-05-16 17:33:37
【问题描述】:
我知道如何使用单向哈希算法将密码保存在数据库中。但就我而言,我需要纯文本密码才能登录服务(Dropbox API)。
所以如果我想创建一个应用程序,它总是使用相同的用户名/密码登录 Dropbox(例如,对于客户端),我将如何将用户密码保存在我的 Java 代码中,这样就不容易读取使用 HexViewer?
应该是对String进行加解密的东西,但是不能绑定到单机上。
【问题讨论】:
-
您无法对其进行加密 - 您将在哪里存储 此 加密密钥?如果 Dropbox 支持直接传递散列(而不是明文密码),你唯一的选择是散列它。
-
@Vladislav 如果 Dropbox 支持直接传递哈希,用户就不能像密码一样使用哈希吗?
-
Hmmmm...我没有直接在这里思考,对此感到抱歉。如果您不向用户询问任何内容,则它是不安全的。您可以将密码存储在钥匙串中,但您必须要求输入钥匙串的密码。我想您可以将其存储在某些 Windows 商店中,但用户仍然需要登录(提供密钥)。
-
实际上,如果 Dropbox 支持它,那将破坏哈希的整个概念,即:当有人从 Dropbox 窃取密码哈希数据库时,他们仍然无法登录您的帐户
标签: java passwords encryption