wish of those help GUIDs are probably not the right thing you are after here. As they produce different output every time and in general don't accept input values As the commenters have posted you are better to use a hashing algorithm. Hashing algorithms are deterministic/idempotent, meaning that the algorithm will produce the same output every time as long as the input is the same.
I wish this help you If the parameter can be null on the T-Sql side, then I think Guid? is a more natural fit. Especially when used with ADO.NET parameterized queries, nullable types are conveniently translated to DBNull.Value when their value is null. If you were to use Guid.Empty to indicate null, then you'd need to check for that condition and explicitly pass DBNull.Value to your command/query. E.g.: