Какова максимальная длина SID в формате SDDL

Я как очень не интересуюсь библиотеками, хотя это определенно полезно. Я больше искал некоторый "псевдо код", который иллюстрирует, что обработка говорит Ваш средний набор флагов и набор более длинных споров как пример.

18
задан dthrasher 5 October 2009 в 14:36
поделиться

1 ответ

У меня был тот же вопрос, и я считаю, что правильный ответ:

  • ID как строка: 184 символа, или varchar (184) в SQL Server
  • SID как строка Hex цифры: 136 символов, или varchar (136) в SQL Server
  • SID как двоичный: 68 байт, или varbinary (68) в SQL Server

Я сам не проверял математику, но метод, используемый здесь, выглядит допустимым : https://groups.google.com/d/msg/microsoft.public.dotnet.security/NpIi7c2Toi8/31SVhcepY58J

См. Программу, написанную Расселом Мангелем 19 августа 2006 г., также скопированную здесь для справки. :

Итак, ответ на мой вопрос:

varbinary (68) - чистый двоичный
varchar (136) - (68 * 2) = hexString
varchar (184) - Строка SID

Я написал небольшую программу для тестирования, обратите внимание, что .NET 2.0 имеет SecurityIdentifier.MaxBinaryLength, I не знал об этом.

 Console.WriteLine ("SID Min. num Bytes: {0}",
SecurityIdentifier.MinBinaryLength);
Console.WriteLine ("Макс. Количество байт SID: {0}",
SecurityIdentifier.MaxBinaryLength);
Байт [] байтов = новый байт [SecurityIdentifier.MaxBinaryLength];
for (Int32 i = 0; i 

Результаты

 SID Мин. кол-во байтов: 8
SID Макс. число Байт: 68
Максимальная длина SID в строковом формате: 184
S-1-281474976710655-4294967295-4294967295-4294967295-4294967295-4294967295-
 4294967295-4294967295-4294967295-4294967295-4294967295-4294967295-
 4294967295-4294967295-4294967295-4294967295 
32
ответ дан 30 November 2019 в 07:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: