Argon2 Class

Argon2 Hashing of passwords.

Definition

Namespace: Gemstone.Security.Cryptography.Argon2Hash
Assembly: Gemstone.Security (in Gemstone.Security.dll) Version: 1.0.170 -- Release Build+ca3065dc8f8b84c59ee38bd3367c3e71f3818071
public sealed class Argon2 : IDisposable
Inheritance
Object    Argon2
Implements
IDisposable

Constructors

Argon2 Initializes a new instance of the Argon2 class.

Properties

LaneBlockCount Gets the number of memory blocks per lane. SegmentBlockCount * SyncPointCount.
Memory Gets the MemoryBlockCount blocks.
MemoryBlockCount Gets the number of memory blocks, (Lanes*LaneBlockCount).
SegmentBlockCount Gets the number of memory blocks per segment. This value gets derived from the memory cost. The memory cost value is a request for that number of blocks. If that request is less than (2 * SyncPointCount) times the number of lanes requested, it is first bumped up to that amount. Then, it may be reduced to fit on a SyncPointCount times the number of lanes requested boundary.

Methods

Dispose Zero sensitive memories and dispose of resources.
EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
FixedTimeEquals Compare two ZeroedBuffers without leaking timing information.
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetTypeGets the Type of the current instance.
(Inherited from Object)
Hash Perform the hash.
Hash(Argon2Config) Hash the given password to an Argon2 hash string.
Hash(String, Int32, Int32, Int32, Argon2Type, Int32) Hash the given password to an Argon2 hash string.
Hash(Byte, Byte, Int32, Int32, Int32, Argon2Type, Int32) Hash the given password to an Argon2 hash string.
Hash(String, String, Int32, Int32, Int32, Argon2Type, Int32) Hash the given password to an Argon2 hash string.
ToStringReturns a string that represents the current object.
(Inherited from Object)
Verify(String, Argon2Config) Verify the given Argon2 hash as being that of the given password.
Verify(String, Byte) Verify the given Argon2 hash as being that of the given password.
Verify(String, String) Verify the given Argon2 hash as being that of the given password.
Verify(String, Byte, Byte) Verify the given Argon2 hash as being that of the given password.
Verify(String, Byte, Int32) Verify the given Argon2 hash as being that of the given password.
Verify(String, String, Int32) Verify the given Argon2 hash as being that of the given password.
Verify(String, String, String) Verify the given Argon2 hash as being that of the given password.
Verify(String, Byte, Byte, Int32) Verify the given Argon2 hash as being that of the given password.
Verify(String, String, String, Int32) Verify the given Argon2 hash as being that of the given password.

Fields

BlockSize The Argon2 block size in bytes.
CsharpMaxBlocksPerArray C# has a limit of 0X7FEFFFFF elements per array (0x7FFFFFC7 per byte array). The blocks are 1024 bytes long, the elements are 8 bytes (ulong). This gives 0X7FEFFFFF / 128 blocks per C# array.
PrehashDigestLength The number of bytes hashed in initializing Argon2.
PrehashSeedLength Bytes required in the buffer passed into the FillFirstBlocks(Byte) method.
QwordsInBlock The number of 8-byte words in an Argon2 block.
SyncPointCount Number of synchronization points between lanes per pass.

See Also