Struct HashDigest<T>
A value type to represent digest bytes determined by a
HashAlgorithm. For more type safety, it takes
a type parameter T
of
HashAlgorithm.
Inherited Members
Namespace: Libplanet.Common
Assembly: Libplanet.Common.dll
Syntax
[TypeConverter(typeof(HashDigestTypeConverter))]
[JsonConverter(typeof(HashDigestJsonConverter))]
[Serializable]
public readonly struct HashDigest<T> : ISerializable, IEquatable<HashDigest<T>> where T : HashAlgorithm
Type Parameters
Name | Description |
---|---|
T | A HashAlgorithm which corresponds to a digest. This determines Size of a digest. |
Constructors
| Improve this Doc View SourceHashDigest(Byte[])
Converts a Byte array into a HashDigest<T>.
Declaration
public HashDigest(byte[] hashDigest)
Parameters
Type | Name | Description |
---|---|---|
Byte[] | hashDigest | A Byte array that encodes a HashDigest<T>. It must not be null, and its Length must be the same to Size. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown when the given
|
ArgumentOutOfRangeException | Thrown when the given
|
See Also
| Improve this Doc View SourceHashDigest(in ImmutableArray<Byte>)
Converts an immutable Byte array into a HashDigest<T>.
Declaration
public HashDigest(in ImmutableArray<byte> hashDigest)
Parameters
Type | Name | Description |
---|---|---|
ImmutableArray<Byte> | hashDigest | An immutable Byte array that encodes a HashDigest<T>. It must not be null, and its Length must be the same to Size. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | Thrown when the given
|
See Also
Fields
| Improve this Doc View SourceSize
The fixed, and valid Length of a Byte array of every digest.
This varies depending upon what HashAlgorithm is
used for T
. For example, if T
is SHA1 Size is 20
,
and if SHA256 it is 32
.
Declaration
public static readonly int Size
Field Value
Type | Description |
---|---|
Int32 |
See Also
Properties
| Improve this Doc View SourceByteArray
A bare immutable Byte array of the digest.
Declaration
public readonly ImmutableArray<byte> ByteArray { get; }
Property Value
Type | Description |
---|---|
ImmutableArray<Byte> |
Remarks
It is immutable. For a mutable array, use ToByteArray() method instead.
See Also
Methods
| Improve this Doc View SourceDeriveFrom(Byte[])
Computes a hash digest of the algorithm T
from the given
input
bytes.
Declaration
[Pure]
public static HashDigest<T> DeriveFrom(byte[] input)
Parameters
Type | Name | Description |
---|---|---|
Byte[] | input | The bytes to compute its hash. |
Returns
Type | Description |
---|---|
HashDigest<T> | The hash digest derived from |
See Also
| Improve this Doc View SourceDeriveFrom(ImmutableArray<Byte>)
Computes a hash digest of the algorithm T
from the given
input
bytes.
Declaration
[Pure]
public static HashDigest<T> DeriveFrom(ImmutableArray<byte> input)
Parameters
Type | Name | Description |
---|---|---|
ImmutableArray<Byte> | input | The bytes to compute its hash. |
Returns
Type | Description |
---|---|
HashDigest<T> | The hash digest derived from |
See Also
| Improve this Doc View SourceDeriveFrom(ReadOnlySpan<Byte>)
Computes a hash digest of the algorithm T
from the given
input
bytes.
Declaration
[Pure]
public static HashDigest<T> DeriveFrom(ReadOnlySpan<byte> input)
Parameters
Type | Name | Description |
---|---|---|
ReadOnlySpan<Byte> | input | The bytes to compute its hash. |
Returns
Type | Description |
---|---|
HashDigest<T> | The hash digest derived from |
See Also
| Improve this Doc View SourceEquals(HashDigest<T>)
A value type to represent digest bytes determined by a
HashAlgorithm. For more type safety, it takes
a type parameter T
of
HashAlgorithm.
Declaration
[Pure]
public readonly bool Equals(HashDigest<T> other)
Parameters
Type | Name | Description |
---|---|---|
HashDigest<T> | other |
Returns
Type | Description |
---|---|
Boolean |
See Also
| Improve this Doc View SourceEquals(Object)
A value type to represent digest bytes determined by a
HashAlgorithm. For more type safety, it takes
a type parameter T
of
HashAlgorithm.
Declaration
[Pure]
public override readonly bool Equals(object obj)
Parameters
Type | Name | Description |
---|---|---|
Object | obj |
Returns
Type | Description |
---|---|
Boolean |
Overrides
See Also
| Improve this Doc View SourceFromString(String)
Converts a given hexadecimal representation of a digest into a HashDigest<T> object.
This is an inverse function of ToString() method.
Declaration
[Pure]
public static HashDigest<T> FromString(string hexDigest)
Parameters
Type | Name | Description |
---|---|---|
String | hexDigest | A hexadecimal representation of a HashDigest<T>. |
Returns
Type | Description |
---|---|
HashDigest<T> | A corresponding HashDigest<T> value. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown when the given
|
ArgumentOutOfRangeException | Thrown when the given
|
See Also
| Improve this Doc View SourceGetHashCode()
A value type to represent digest bytes determined by a
HashAlgorithm. For more type safety, it takes
a type parameter T
of
HashAlgorithm.
Declaration
[Pure]
public override readonly int GetHashCode()
Returns
Type | Description |
---|---|
Int32 |
Overrides
See Also
| Improve this Doc View SourceGetObjectData(SerializationInfo, StreamingContext)
A value type to represent digest bytes determined by a
HashAlgorithm. For more type safety, it takes
a type parameter T
of
HashAlgorithm.
Declaration
public readonly void GetObjectData(SerializationInfo info, StreamingContext context)
Parameters
Type | Name | Description |
---|---|---|
SerializationInfo | info | |
StreamingContext | context |
See Also
| Improve this Doc View SourceToByteArray()
Gets a bare mutable Byte array of the digest.
Declaration
[Pure]
public readonly byte[] ToByteArray()
Returns
Type | Description |
---|---|
Byte[] | A new mutable Byte array of the digest. Since a returned array is created every time the method is called, any mutations on that array does not affect to the digest object. |
See Also
| Improve this Doc View SourceToString()
Gets a hexadecimal representation of a digest.
This is an inverse function of FromString(String).
Declaration
[Pure]
public override readonly string ToString()
Returns
Type | Description |
---|---|
String | A hexadecimal representation of a digest. |