Browse Source

Made ObjectHash static, add GetStringSignature

pull/324/head
Ionite 1 year ago
parent
commit
d46406c3fd
No known key found for this signature in database
  1. 26
      StabilityMatrix.Core/Helper/ObjectHash.cs

26
StabilityMatrix.Core/Helper/ObjectHash.cs

@ -1,9 +1,10 @@
using System.Text;
using System.Security.Cryptography;
using System.Text;
using System.Text.Json;
namespace StabilityMatrix.Core.Helper;
public class ObjectHash
public static class ObjectHash
{
/// <summary>
/// Return a GUID based on the MD5 hash of the JSON representation of the object.
@ -16,4 +17,25 @@ public class ObjectHash
var hash = md5.ComputeHash(bytes);
return new Guid(hash);
}
/// <summary>
/// Return a short Sha256 signature of a string
/// </summary>
public static string GetStringSignature(string? str)
{
if (str is null)
{
return "null";
}
if (string.IsNullOrEmpty(str))
{
return "";
}
var bytes = Encoding.UTF8.GetBytes(str);
var hash = Convert.ToBase64String(SHA256.HashData(bytes));
return $"[..{str.Length}, {hash[..7]}]";
}
}

Loading…
Cancel
Save