using System.Security.Cryptography;
using System.Runtime.InteropServices;
public static void Main()
string itemid = "008809";
decimal listprice = 17.79M;
string offerId = "ON231220274";
string input = listprice.ToString("0.00") + "|" + ppcprice.ToString("0.00");
if (!string.IsNullOrEmpty(offerId))
input = input + "|" + offerId;
Console.WriteLine("input: " + input);
var uniqueid = GenerateEntityUniqueId(input);
var uniqueid2 = CreateMd5Deterministic(input);
Console.WriteLine("SHA5 generated ID: " + uniqueid);
Console.WriteLine("MD5 generated ID: " + uniqueid2);
public static Guid GenerateEntityUniqueId(string input)
if (string.IsNullOrEmpty(input))
throw new ArgumentNullException("input");
using (SHA256 sHA = SHA256.Create())
string s = input.ToUpperInvariant();
byte[] bytes = Encoding.UTF8.GetBytes(s);
byte[] array = sHA.ComputeHash(bytes);
Array.Resize(ref array, 16);
public static Guid CreateMd5Deterministic(ReadOnlySpan<char> input)
var byteSpan = MemoryMarshal.AsBytes(input);
Span<byte> hash = MD5.HashData(byteSpan);
var guid = new Guid(hash);