Namespace Isopoh.Cryptography.Argon2
Classes
Argon2
Argon2 Hashing of passwords.
Argon2Config
Holds configuration needed to perform an Argon2 hash.
Argon2Memory
Manages memory for a Argon2.
BlockValues
Gets the values from a ulong array. Block lengths are QwordsInBlock elements long.
Blocks
Break a byte array into blocks for Argon2 to use.
DecodeExtension
Extension to decode Argon2 hash strings.
EncodeExtension
Extension to encode an Argon2 hash string.
Structs
Argon2Password
This holds a password or an Argon2ExistingPasswordResetPolicy. I wish I had F# discriminated unions.
ReadOnlyBlockValues
Gets the values from a ulong array. Block lengths are QwordsInBlock elements long.
TempBlockValues
Gets the values from a ulong array. Block lengths are QwordsInBlock elements long.
Enums
Argon2ExistingPasswordResetPolicy
Whether to keep of clear an existing password in an Argon2Memory.
Argon2MemoryPolicy
Whether to shrink memory if Argon2Config changes to need less memory.
Argon2Type
Argon2 can hash in two different ways, data-dependent and data-independent.
Argon2Version
There are two versions, 16 and 19. 19 is 5%-15% slower but fixes a vulnerability where an attacker could take advantage of short time spans where memory blocks were not used to reduce the overall memory cost by up to a factor of about 3.5.