frostfs-sdk-csharp/sdk/src/FrostFS.SDK.ModelsV2/ObjectId.cs
Ivan Pchelintsev bb6e187b61 [#1] Add presentation layer
Signed-off-by: Ivan Pchelintsev <i.pchelintsev@yadro.com>
2024-05-22 14:29:20 +03:00

32 lines
No EOL
607 B
C#

using FrostFS.SDK.Cryptography;
namespace FrostFS.SDK.ModelsV2;
public class ObjectId
{
public string Value { get; }
public ObjectId(string id)
{
Value = id;
}
public static ObjectId FromHash(byte[] hash)
{
if (hash.Length != Helper.Sha256HashLength)
{
throw new FormatException("ObjectID must be a sha256 hash.");
}
return new ObjectId(Base58.Encode(hash));
}
public byte[] ToHash()
{
return Base58.Decode(Value);
}
public override string ToString()
{
return Value;
}
}