Show / Hide Table of Contents

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.

In this article
Back to top Generated by DocFX