Ich möchte eine Hilfs- oder Erweiterungsmethode erstellen, die aus jedem Int-, Long- oder String-Wert eine Guid generiert. Die Idee besteht darin, eine Datenbank zu aktualisieren, aber einen Teil der Nachverfolgung meiner alten Datenbank beizubehalten. Jedes Mal, wenn ich eine Zeichenfolgen-ID wie „O-2019-10-15“ konvertiere, generiert das System dieselbe eindeutige Guid. Konzentrieren wir uns hier auf die Zeichenfolge.
Code: Select all
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);
}
Die Idee von md5 ist, dass ich alles in eine 16-Byte-Signatur umwandeln kann. Von dort muss ich es nur noch als Guid() konvertieren. Aber ich kenne die Details über die Guid nicht. Gibt es bereits bestehende Regeln, reservierte Positionen für Daten oder andere Informationen?
Mobile version