@Test
public void testConvertHandCraftedStringSidToBinary() throws Exception {

    byte[] expectedSid = {(byte) 0x01, (byte) 0x05, (byte) 0x00, (byte) 0x00,
            (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x05,
            (byte) 0x15, (byte) 0x00, (byte) 0x00, (byte) 0x00,
            (byte) 0x01, (byte) 0x00, (byte) 0x00, (byte) 0x00,
            (byte) 0x02, (byte) 0x00, (byte) 0x00, (byte) 0x00,
            (byte) 0x03, (byte) 0x00, (byte) 0x00, (byte) 0x00,
            (byte) 0x04, (byte) 0x00, (byte) 0x00, (byte) 0x00};
    byte[] result = LdapUtils.convertStringSidToBinary("S-1-5-21-1-2-3-4");
    assertThat(ArrayUtils.isSameLength(expectedSid, result)).isTrue();
    for (int i = 0; i < result.length; i++) {
        assertThat(expectedSid[i]).isEqualTo(result[i]);
    }
}