Restlet DigestAuthenticator 散列本地密钥

Posted

技术标签:

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

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

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

有什么想法吗?

【问题讨论】:

【参考方案1】:

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

【讨论】:

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

以上是关于Restlet DigestAuthenticator 散列本地密钥的主要内容,如果未能解决你的问题,请参考以下文章

restlet入门搭建hello world

restlet 2.3.5 org.restlet包导入eclipse出现的com.sun.net.httpserver类包找不到问题

Restlet:如何抑制服务器请求日志消息

Restlet 简介

为啥 GAE 上的 Restlet 说 Component 是 NULL

java容器都有哪些 restlet