mediatekformation

Argon2iPasswordEncoder extends BasePasswordEncoder
in package
implements SelfSaltingEncoderInterface

Argon2iPasswordEncoder uses the Argon2i hashing algorithm.

Tags
author

Zan Baldwin hello@zanbaldwin.com

author

Dominik Müller dominik.mueller@jkweb.ch

deprecated

since Symfony 4.3, use SodiumPasswordEncoder instead

Interfaces, Classes, Traits and Enums

SelfSaltingEncoderInterface
SelfSaltingEncoderInterface is a marker interface for encoders that do not require a user-generated salt.

Table of Contents

MAX_PASSWORD_LENGTH  = 4096
$config  : mixed
__construct()  : mixed
Argon2iPasswordEncoder constructor.
encodePassword()  : mixed
{@inheritdoc}
isPasswordValid()  : mixed
{@inheritdoc}
isSupported()  : mixed
needsRehash()  : bool
{@inheritdoc}
comparePasswords()  : bool
Compares two passwords.
demergePasswordAndSalt()  : array<string|int, mixed>
Demerges a merge password and salt string.
isPasswordTooLong()  : bool
Checks if the password is too long.
mergePasswordAndSalt()  : string
Merges a password and a salt.
encodePasswordNative()  : string
encodePasswordSodiumExtension()  : string
encodePasswordSodiumFunction()  : string

Constants

Properties

Methods

__construct()

Argon2iPasswordEncoder constructor.

public __construct([int|null $memoryCost = null ][, int|null $timeCost = null ][, int|null $threads = null ]) : mixed
Parameters
$memoryCost : int|null = null

memory usage of the algorithm

$timeCost : int|null = null

number of iterations

$threads : int|null = null

number of parallel threads

Return values
mixed

encodePassword()

{@inheritdoc}

public encodePassword(mixed $raw, mixed $salt) : mixed
Parameters
$raw : mixed
$salt : mixed
Return values
mixed

isPasswordValid()

{@inheritdoc}

public isPasswordValid(mixed $encoded, mixed $raw, mixed $salt) : mixed
Parameters
$encoded : mixed
$raw : mixed
$salt : mixed
Return values
mixed

needsRehash()

{@inheritdoc}

public needsRehash(string $encoded) : bool
Parameters
$encoded : string
Return values
bool

comparePasswords()

Compares two passwords.

protected comparePasswords(string $password1, string $password2) : bool

This method implements a constant-time algorithm to compare passwords to avoid (remote) timing attacks.

Parameters
$password1 : string

The first password

$password2 : string

The second password

Return values
bool

true if the two passwords are the same, false otherwise

demergePasswordAndSalt()

Demerges a merge password and salt string.

protected demergePasswordAndSalt(string $mergedPasswordSalt) : array<string|int, mixed>
Parameters
$mergedPasswordSalt : string

The merged password and salt string

Return values
array<string|int, mixed>

An array where the first element is the password and the second the salt

isPasswordTooLong()

Checks if the password is too long.

protected isPasswordTooLong(string $password) : bool
Parameters
$password : string

The password to check

Return values
bool

true if the password is too long, false otherwise

mergePasswordAndSalt()

Merges a password and a salt.

protected mergePasswordAndSalt(string $password, string|null $salt) : string
Parameters
$password : string

The password to be used

$salt : string|null

The salt to be used

Tags
throws
InvalidArgumentException
Return values
string

a merged password and salt

encodePasswordNative()

private encodePasswordNative(string $raw) : string
Parameters
$raw : string
Return values
string

encodePasswordSodiumExtension()

private encodePasswordSodiumExtension(string $raw) : string
Parameters
$raw : string
Return values
string

encodePasswordSodiumFunction()

private encodePasswordSodiumFunction(string $raw) : string
Parameters
$raw : string
Return values
string

Search results