Преобразовать идентификатор строки в уникальный Guid (или из md5 в Guid)?C#

Место общения программистов C#
Ответить
Anonymous
 Преобразовать идентификатор строки в уникальный Guid (или из md5 в Guid)?

Сообщение Anonymous »

Я хотел бы создать систему для преобразования существующего идентификатора (целочисленного идентификатора или пользовательского строкового идентификатора)

Я хотел бы создать вспомогательный метод или метод расширения, который генерирует Guid из любого целого, длинного или строкового значения. Идея состоит в том, чтобы обновить базу данных, но сохранить некоторые сведения из моей старой базы данных. Каждый раз, когда я конвертирую идентификатор строки, например «O-2019-10-15», система генерирует один и тот же уникальный Guid. Давайте сосредоточимся на строке.

Код: Выделить всё

    public static Guid GenerateGuid(string input)
{
// Convertion
byte[] _byteIds = Encoding.UTF8.GetBytes(input);

//What about using MD5?
MD5CryptoServiceProvider _md5 = new MD5CryptoServiceProvider();
byte[] _checksum = _md5.ComputeHash(_byteIds);

// Convert ?
string part1 = /* ??? */;
string part2 = /* ??? */;
string part3 = /* ??? */;
string part4 = /* ??? */;
string part5 = /* ??? */;

//Concat these 4 part into one string
return Guid.Parse("{0}-{1}-{2}-{3}-{4}", part1, part2, part3, part4, part5);
}
Что вы думаете? Является ли md5 правильным началом? Есть ли какое-либо правило в представлении Guid()?

Идея md5 заключается в том, что я могу преобразовать все в 16-байтовую подпись. Оттуда мне просто нужно преобразовать его как Guid(). Но подробностей о Гиде я не знаю. Существуют ли какие-либо правила, зарезервированные позиции для каких-либо данных или другой информации?

Подробнее здесь: https://stackoverflow.com/questions/583 ... d5-to-guid
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»