Преобразовать GUID в числовой эквивалент

Меня попросили экспортировать список пользователей из ActiveDirectory и преобразовать идентификаторы GUID в числовой эквивалент для отображения (так что я приведу позже. Я провел некоторый поиск, но большинство вопросов касаются преобразования чего-либо в GUID или преобразования GUID в Int или что-то глупое (я понимаю, что Ints слишком малы и т. Д.), Что на самом деле не подходит.

Я отсортировал материал AD и экспортировал данные, однако мне интересно, какой тип данных / формат использовать для преобразования идентификаторов GUID, и если это вообще возможно. Я не особо обеспокоен тем, какой именно числовой тип используется, если число все еще является «уникальным». (Я понимаю, что GUID действительно уникален и т. Д.).

Находятся ли GUID в шестнадцатеричном формате, и есть ли подходящий числовой тип, в который я могу преобразовать их для отображения?

Я использую VB.Net и .Net Framework 4. Я пытался использовать BigInteger, но, похоже, это тоже касается отрицательных чисел, которые я буду использовать, если придется, но лучше не буду, если есть что-то еще. более подходящий.

Edit Вот что я попробовал:

Используя GUID: f02c7caf-7e5a-491b-9f23-9476174bdda1

И этот код:

Dim Foo As String = (New System.Numerics.BigInteger(adUserDirectoryRecord.Guid.ToByteArray())).ToString

It came out as: -125127638954164478915246035839554388817

Note: После того, как я это сделаю, я выведу это в формате .csv, чтобы другая команда могла забрать его и импортировать в другую систему, поэтому, скорее всего, они захотят это в цифровом, а не буквенно-цифровом формате.

SOLUTION:

Поскольку больше не нужно будет преобразовывать числовой GUID обратно, BigInteger был правильным методом для этого. Изменение состояло в том, чтобы изменить размер ByteArray, чтобы заставить его использовать только положительные значения:

'Gets the User's GUID from the Active Directory record, converts it to a Byte Array and Resizes it to Force Positive Values Only:
Dim bytGUIDBytes As Byte() = adUserDirectoryRecord.Guid.ToByteArray()
Array.Resize(bytGUIDBytes, 17)

'Converts the User's GUID Bytes into a Numeric Equivalent, and Returns the String version of the Numerical value.
Return New System.Numerics.BigInteger(bytGUIDBytes).ToString

Ответы на вопрос(2)

Ваш ответ на вопрос