Multi-Platform Package Manager for Stable Diffusion
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

20 lines
535 B

using System.Text;
1 year ago
using System.Text.Json;
namespace StabilityMatrix.Core.Helper;
1 year ago
public class ObjectHash
{
/// <summary>
/// Return a GUID based on the MD5 hash of the JSON representation of the object.
/// </summary>
public static Guid GetMd5Guid<T>(T obj)
{
var json = JsonSerializer.Serialize(obj);
var bytes = Encoding.UTF8.GetBytes(json);
using var md5 = System.Security.Cryptography.MD5.Create();
var hash = md5.ComputeHash(bytes);
return new Guid(hash);
}
}