【问题标题】:Restlet DigestAuthenticator hashed local secretRestlet DigestAuthenticator 散列本地密钥
【发布时间】:2010-12-06 20:10:42
【问题描述】:

我正在尝试使用DigestAuthenticator 来保护我使用 Restlet 创建的 API 的某些部分。在所有示例中,DigestAuthenticator 期望包装一个 LocalVerifier,它将以纯文本形式返回本地密钥。显然,我不想以纯文本形式存储所有用户的密码。如何在不以纯文本形式提供本地密钥的情况下将 HTTP Digest 与 Restlet 一起使用?

我写了一个LocalVerifier,它使用标识符查询数据库并检索sha1密码,但除非我的Verifier以纯文本形式返回密码,否则它不起作用。

有什么想法吗?

【问题讨论】:

    标签: restlet digest-authentication


    【解决方案1】:

    所以基本上我在数据库中对服务器端的所有密码进行哈希处理,并在客户端对密码进行哈希处理,然后再通过 http 摘要对其进行哈希处理。无论如何,对我来说似乎是一个更安全的解决方案。

    【讨论】:

    • 感谢您的问答。阅读完这篇文章后,我调试了 DigestAuthentication 寻找一个可以覆盖某些方法来对秘密进行编码的地方,以便它与我的用户数据库中的编码散列相匹配。然而,摘要认证的重点是秘密不是简单地传输的!因此,您使用实际使用的任何哈希进行预编码的解决方案是唯一的解决方案。由于我的客户端是分布式的并且可能被反编译,我不确定我是否要放弃我的哈希。所以摘要不是我的解决方案。
    • 嗨 Finbarr,这对我来说也是一个问题。不幸的是restlet既是我的客户端又是服务器。这使得在验证之前对密码进行哈希处理变得非常困难。我查看了代码,似乎 DigestVerifier 具有使用 MD5 散列秘密的逻辑。但是,这需要设置算法和 WrappedAlgorithm。 WrappedAlgorithm 很简单,但是算法不容易设置。我已经扩展 DigestAuthenticator 来设置算法,但它不起作用。你的伎俩是简单地使用不同的客户端还是使用restlet?谢谢
    猜你喜欢
    • 1970-01-01
    • 2011-12-04
    • 2019-02-24
    • 2019-01-14
    • 2018-08-31
    • 2011-09-21
    • 1970-01-01
    • 2013-12-12
    • 1970-01-01
    相关资源
    最近更新 更多