我正在使用Apache LDAP API设置新属性:Oracle Internet Directory中的userPassword。我想使用SHA加密方法设置此密码。我目前有以下代码:

Attribute userPasswordAttribute = new DefaultAttribute("userPassword", "password"));
ModifyRequest modifyRequest = new ModifyRequestImpl();
modifyRequest.setName(dn);
modifyRequest.add(userPasswordAttribute);
ModifyResponse response = connection.modify(modifyRequest);


但是,这会添加SSHA加密密码以及一些我不想要的其他属性(authpassword; oid)。我已经看到LDAP API中有一个名为EncryptionMethod的类,但是如何在我的代码中使用它呢?

最佳答案

尝试这个

String newPassword = "password";
modifyRequest.replace("userPassword", PasswordUtil.createStoragePassword(
                            newPassword.getBytes(), LdapSecurityConstants.HASH_METHOD_SHA));

关于java - 如何使用Apache LDAP API添加新的密码属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21283696/

10-10 11:29