class documentation

class Argon2PasswordHasher(BasePasswordHasher): (source)

View In Hierarchy

Secure password hashing using the argon2 algorithm. This is the winner of the Password Hashing Competition 2013-2015 (https://password-hashing.net). It requires the argon2-cffi library which depends on native C code and might cause portability issues.

Method decode Return a decoded database value.
Method encode Create an encoded database value.
Method harden_runtime Bridge the runtime gap between the work factor supplied in `encoded` and the work factor suggested by this hasher.
Method must_update Undocumented
Method params Undocumented
Method safe_summary Return a summary of safe values.
Method verify Check if the given password is correct.
Class Variable algorithm Undocumented
Class Variable library Undocumented
Class Variable memory_cost Undocumented
Class Variable parallelism Undocumented
Class Variable time_cost Undocumented

Inherited from BasePasswordHasher:

Method salt Generate a cryptographically secure nonce salt in ASCII with an entropy of at least `salt_entropy` bits.
Class Variable salt_entropy Undocumented
Method _check_encode_args Undocumented
Method _load_library Undocumented
def decode(self, encoded): (source)

Return a decoded database value. The result is a dictionary and should contain `algorithm`, `hash`, and `salt`. Extra keys can be algorithm specific like `iterations` or `work_factor`.

def encode(self, password, salt): (source)

Create an encoded database value. The result is normally formatted as "algorithm$salt$hash" and must be fewer than 128 characters.

def harden_runtime(self, password, encoded): (source)

Bridge the runtime gap between the work factor supplied in `encoded` and the work factor suggested by this hasher. Taking PBKDF2 as an example, if `encoded` contains 20000 iterations and `self.iterations` is 30000, this method should run password through another 10000 iterations of PBKDF2. Similar approaches should exist for any hasher that has a work factor. If not, this method should be defined as a no-op to silence the warning.

def must_update(self, encoded): (source)
def params(self): (source)

Undocumented

def safe_summary(self, encoded): (source)

Return a summary of safe values. The result is a dictionary and will be used where the password field must be displayed to construct a safe representation of the password.

def verify(self, password, encoded): (source)

Check if the given password is correct.

memory_cost: int = (source)

Undocumented

parallelism: int = (source)

Undocumented

time_cost: int = (source)

Undocumented