您将如何在Tomcat 5.5中实现salted密码

时间:2008-10-15 15:24:56

标签: security authentication tomcat passwords salt

我的网络应用程序依赖于容器管理的安全性,我想知道是否可以使用盐渍密码。据我所知,只需配置JDBC或DataSource Realm就可以很容易地将消化的密码存储在数据库中,但是无法为这些摘要添加盐。

有什么建议吗?

编辑:在提问之前我似乎还需要多考虑一下; - )

只需选择谁在进行摘要计算(客户端或服务器)并相应地配置Tomcat。

3 个答案:

答案 0 :(得分:3)

如果您正在创建和存储摘要,则可以同时创建和存储盐。

您的身份验证表将包含 .... pwdDigest varchar(64), - 或int256(如果有) hashSalt int64, ....

然后根据您使用的auth协议,当您获得客户端加密的用户名时,将hashSalt发送到客户端,或者如果您明确收到密码,则使用它来散列密码。

我不熟悉您所谈论的数据库访问技术,所以如果我错过了这一点并且过于简化了答案,我会道歉。

答案 1 :(得分:3)

Tomcat 5.5和6.0不支持JDBCRealms和DataSourceRealms中的salted密码。这是一个已知的错误,建议的补丁似乎工作正常,但它尚未被接受。

如果您不想应用补丁,至少可以将其用作实施示例:

Bug 45871 - Support for salted and digested patches in DataSourceRealm

答案 2 :(得分:0)

JCE中基于Passord的加密根据PKCS#5使用salt。有关示例,请参阅http://java.sun.com/j2se/1.4.2/docs/guide/security/jce/JCERefGuide.html#PBEEx