我有一个用spring-ldap构建的JAVA应用程序,它可以在openldap服务器中修改用户的userPassword。我想使用md5存储或任何加密技术,但是当我的应用程序修改userPassword属性时,似乎base64散列被转义了。当我尝试使用新密码验证用户时,它会导致“无效凭据”...
例如,当我使用以下代码时:
context.setAttribute(new BasicAttribute("userPassword", "{md5}DMF1ucDxtqgxw5niaXcmYQ=="));
template.modifyAttributes(dn, context.getModificationItems());看看我在Apache Directory Studio中得到的userPassword属性
{md5}DMF1ucDxtqgxw5niaXcmYQ\=\=“验证”密码功能成功,但身份验证失败。当我使用Apache Directory Studio修改散列并删除不必要的'\‘字符时,身份验证成功。
有没有可能防止spring-ldap转义散列密码?这个问题有什么已知的解决方案吗?
谢谢。
发布于 2014-05-20 07:14:31
如果LDAP服务器配置正确,它应该会为您执行散列。您应该只发送明文密码,当然是通过SSL。
https://stackoverflow.com/questions/23738561
复制相似问题