I would like to convert the SID\'s System.Byte[] type to a String.
My code:
string path = \"LDAP://DC=abc,DC=contoso,DC=com\";
DirectoryEntry entry = new
This is what ive done , after some reading it seemed safer to store the value in oct. If you dont know which servers is on the other side. The code below shows how to do it to get your desired result
private static string ExtractSinglePropertyValueFromByteArray(object value)
{
//all if checks etc has been omitted
string propertyValue = string.Empty;
var bytes = (byte[])value;
var propertyValueOct = BuildOctString(bytes); // 010500....etc
var propertyValueSec = BuildSecString(bytes); // S-1-5-...etc
propertyValue = propertyValueSec;
return propertyValue;
}
private static string BuildSecString(byte[] bytes)
{
return new SecurityIdentifier(bytes,0).Value.ToString();
}
private static string BuildOctString(byte[] bytes)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < bytes.Length; i++)
{
sb.Append(bytes[i].ToString("X2"));
}
return sb.ToString();
}