2014-01-22 50 views
1

我正在使用Apache LDAP API在Oracle Internet Directory中設置新屬性:userPassword。我想用SHA加密方法設置這個密碼。目前,我有以下代碼:如何使用Apache LDAP API添加新密碼屬性

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的類,但是如何在我的代碼中使用它?

回答

0

試試這個

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