我有一个使用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转义哈希密码?这个问题有没有已知的解决方案?
感谢。
答案 0 :(得分:0)
如果LDAP服务器配置正确,则应为您进行散列处理。您当然应该通过SSL发送明文密码。