我正在使用Spring-LDAP编写Java程序。我需要实现一个方法,通过SID搜索用户。为此,我使用类似于"&((objectClass=User)(objectSid="+sid+"))"
的过滤器。但是,以字符串格式如"S-1-12-345677-5676743-223344-..."
表示的SID无法进行搜索。
使用Apache Directory Studio,我可以使用像(objectSid=\ff\01\03\04\1a\2b\...)
这样的过滤器成功地查询我的AD LDAP数据库。这里的objectSid是以十六进制格式表示的。
那么,如何在Java程序中将SID从字符串转换为十六进制,以及如何相反地进行转换?