如何在Java中将SID转换为String,反之亦然?

mtm*_*mtm 2 java string hex sid spring-ldap

我正在使用Spring-LDAP编写Java程序.我需要实现一个方法,该方法应该通过SID搜索用户.出于这个原因,我使用过滤器"&((objectClass=User)(objectSid="+sid+"))".搜索不适用于字符串格式的sid "S-1-12-345677-5676743-223344-...".

使用Apache Directory Studio,我可以使用如下过滤器定期查询我的AD LDAP数据库:(objectSid=\ff\01\03\04\1a\2b\...)成功.这是十六进制格式的objectSid.

现在,如何在Java中将SID从String转换为十六进制,反之亦然?

Han*_*son 5

Advapi32Util类中有convertSidToStringSidconvertStringSidToSid方法.

我不确定这是否是您需要的确切格式,但希望能让您更接近.

这是一篇博客文章,描述了可能有用的SID格式.