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.
Implements
Inherited Members
Namespace: Libplanet
Assembly: Libplanet.dll
Syntax
public struct HashDigest<T> : 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 |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown when the given
|
ArgumentOutOfRangeException | Thrown when the given
|
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 |
Properties
| Improve this Doc View SourceByteArray
A bare immutable Byte array of the digest.
Declaration
public 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 SourceEquals(Object)
Declaration
[Pure]
public override bool Equals(object obj)
Parameters
Type | Name | Description |
---|---|---|
Object | obj |
Returns
Type | Description |
---|---|
Boolean |
Overrides
| 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()
Declaration
[Pure]
public override int GetHashCode()
Returns
Type | Description |
---|---|
Int32 |
Overrides
| Improve this Doc View SourceSatisfies(Int64)
Tests if a digest is less than the target computed for the given
difficulty
).
Declaration
[Pure]
public bool Satisfies(long difficulty)
Parameters
Type | Name | Description |
---|---|---|
Int64 | difficulty | The difficulty to compute target number. |
Returns
Type | Description |
---|---|
Boolean |
|
ToByteArray()
Gets a bare mutable Byte array of the digest.
Declaration
[Pure]
public 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 string ToString()
Returns
Type | Description |
---|---|
String | A hexadecimal representation of a digest. |
Overrides
See Also
Explicit Interface Implementations
| Improve this Doc View SourceIEquatable<HashDigest<T>>.Equals(HashDigest<T>)
Declaration
[Pure]
bool IEquatable<HashDigest<T>>.Equals(HashDigest<T> other)
Parameters
Type | Name | Description |
---|---|---|
HashDigest<T> | other |
Returns
Type | Description |
---|---|
Boolean |