代码之家  ›  专栏  ›  技术社区  ›  agnul

如何在Tomcat5.5中实现salted密码?

  •  2
  • agnul  · 技术社区  · 16 年前

    我的Web应用程序依赖于容器管理的安全性,我想知道是否可以使用salted密码。据我所知,只需配置JDBC或数据源领域,就可以很容易地将消化后的密码存储在数据库中,但无法向这些摘要中添加salt。

    有什么建议吗?

    编辑: 在提问之前,我似乎只需要多想想;—)

    这只是选择谁在做摘要计算(客户机或服务器)和相应地配置Tomcat的问题。

    3 回复  |  直到 16 年前
        1
  •  3
  •   Bell    16 年前

    如果你正在制作和储存消化液,你可以同时制作和储存盐。

    您的身份验证表将包含 … pwdigest varchar(64),--或int256(如果有) 盐盐 …

    然后,根据您使用的身份验证协议,您要么在获得客户端加密的用户名时将哈希盐发送给客户端,要么在收到密码时使用它来哈希密码。

    我不熟悉您所说的数据库访问技术,因此如果我错过了要点,并将答案过于简单化,我将向您道歉。

        2
  •  3
  •   muriloq    16 年前

    Tomcat5.5和6.0不支持JDBCrealms和DataSourcerealms中的salt密码。这是一个已知的bug,建议的补丁似乎工作正常,但还没有被接受。

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

    Bug 45871 - Support for salted and digested patches in DataSourceRealm

        3
  •  0
  •   mpez0    16 年前

    JCE中基于密码的加密根据pkcs 5使用salt。见 http://java.sun.com/j2se/1.4.2/docs/guide/security/jce/JCERefGuide.html#PBEEx 举个例子。