\CryptoManana\Core\Abstractions\MessageDigestionAbstractPasswordBasedDerivationFunction

Class AbstractPasswordBasedDerivationFunction - Abstraction for password-based key derivation classes.

Summary

Methods
Properties
Constants
__construct()
hashData()
setSalt()
getSalt()
setSaltingMode()
getSaltingMode()
setDigestFormat()
getDigestFormat()
No public properties found
ALGORITHM_NAME
addSaltString()
changeOutputFormat()
$useNative
$salt
$saltingMode
$digestFormat
$inFrontCases
$inBackCases
$inSpecialCases
N/A
No private methods found
No private properties found
N/A

Constants

ALGORITHM_NAME

ALGORITHM_NAME

The internal name of the algorithm.

Properties

$useNative

$useNative : boolean

Flag to force native code polyfill realizations, if available.

Type

boolean — Flag to force native realizations.

$salt

$salt : string

The salt string property storage.

Type

string — The salting string value.

$saltingMode

$saltingMode : integer

The salting mode property storage.

Type

integer — The salting mode integer code value.

$digestFormat

$digestFormat : integer

The digest output format property storage.

Type

integer — The output format integer code value.

$inFrontCases

$inFrontCases : array

List of salting modes that add the salt at the front side of the input data.

Type

array — Salting mode codes.

$inBackCases

$inBackCases : array

List of salting modes that add the salt at the back side of the input data.

Type

array — Salting mode codes.

$inSpecialCases

$inSpecialCases : array

List of salting modes that use complex salt and input data manipulation procedures.

Type

array — Salting mode codes.

Methods

__construct()

__construct() 

Password-based key derivation algorithm constructor.

hashData()

hashData(string  $data) : string

Calculates a hash value for the given data.

Parameters

string $data

The input string.

Throws

\Exception

Validation errors.

Returns

string —

The digest.

setSalt()

setSalt(string  $salt) : $this

Setter for the salt string property.

Parameters

string $salt

The salt string.

Throws

\Exception

Validation errors.

Returns

$this —

The hash algorithm object.

getSalt()

getSalt() : string

Getter for the salt string property.

Returns

string —

The salt string.

setSaltingMode()

setSaltingMode(integer  $saltingMode) : $this

Setter for the salting mode code property.

Parameters

integer $saltingMode

The salting mode code.

Throws

\Exception

Validation errors.

Returns

$this —

The hash algorithm object.

getSaltingMode()

getSaltingMode() : integer

Getter for the salt mode code property.

Returns

integer —

The salt mode code.

setDigestFormat()

setDigestFormat(integer  $digestFormat) : $this

Setter for the digest format code property.

Parameters

integer $digestFormat

The digest format code.

Throws

\Exception

Validation errors.

Returns

$this —

The hash algorithm object.

getDigestFormat()

getDigestFormat() : integer

Getter for the digest format code property.

Returns

integer —

The digest format code.

addSaltString()

addSaltString(string  $data) : string

Internal method for adding the salt string to the input data via the chosen salting mode.

Parameters

string $data

The input data for hashing.

Returns

string —

The input data with proper salting.

changeOutputFormat()

changeOutputFormat(string  $digest) : string

Internal method for converting the digest's output format representation via the chosen format.

Parameters

string $digest

The output digest.

Returns

string —

The input data with proper salting.