PHP Class Neos\Flow\Security\Cryptography\HashService

Afficher le fichier Open project: neos/flow-development-collection Class Usage Examples

Protected Properties

Свойство Type Description
$cache Neos\Cache\Frontend\StringFrontend
$encryptionKey string A private, unique key used for encryption tasks
$objectManager Neos\Flow\ObjectManagement\ObjectManagerInterface
$passwordHashingStrategies array
$strategySettings array

Méthodes publiques

Méthode Description
appendHmac ( string $string ) : string Appends a hash (HMAC) to a given string and returns the result
generateHmac ( string $string ) : string Generate a hash (HMAC) for a given string
hashPassword ( string $password, string $strategyIdentifier = 'default' ) : string Hash a password using the configured password hashing strategy
injectSettings ( array $settings ) : void Injects the settings of the package this controller belongs to.
validateAndStripHmac ( string $string ) : string Tests if the last 40 characters of a given string $string matches the HMAC of the rest of the string and, if true, returns the string without the HMAC. In case of a HMAC validation error, an exception is thrown.
validateHmac ( string $string, string $hmac ) : boolean Tests if a string $string matches the HMAC given by $hash.
validatePassword ( string $password, string $hashedPasswordAndSalt ) : boolean Validate a hashed password using the configured password hashing strategy

Méthodes protégées

Méthode Description
getEncryptionKey ( ) : string Returns the encryption key from the persistent cache or Data/Persistent directory. If none exists, a new encryption key will be generated and stored in the cache.
getPasswordHashingStrategyAndIdentifier ( string $strategyIdentifier = 'default' ) : array Get a password hashing strategy

Method Details

appendHmac() public méthode

Appends a hash (HMAC) to a given string and returns the result
See also: generateHmac()
public appendHmac ( string $string ) : string
$string string The string for which a hash should be generated
Résultat string The original string with HMAC of the string appended

generateHmac() public méthode

Generate a hash (HMAC) for a given string
public generateHmac ( string $string ) : string
$string string The string for which a hash should be generated
Résultat string The hash of the string

getEncryptionKey() protected méthode

Returns the encryption key from the persistent cache or Data/Persistent directory. If none exists, a new encryption key will be generated and stored in the cache.
protected getEncryptionKey ( ) : string
Résultat string The configured encryption key stored in Data/Persistent/EncryptionKey

getPasswordHashingStrategyAndIdentifier() protected méthode

Get a password hashing strategy
protected getPasswordHashingStrategyAndIdentifier ( string $strategyIdentifier = 'default' ) : array
$strategyIdentifier string
Résultat array

hashPassword() public méthode

Hash a password using the configured password hashing strategy
public hashPassword ( string $password, string $strategyIdentifier = 'default' ) : string
$password string The cleartext password
$strategyIdentifier string An identifier for a configured strategy, uses default strategy if not specified
Résultat string A hashed password with salt (if used)

injectSettings() public méthode

Injects the settings of the package this controller belongs to.
public injectSettings ( array $settings ) : void
$settings array Settings container of the current package
Résultat void

validateAndStripHmac() public méthode

Tests if the last 40 characters of a given string $string matches the HMAC of the rest of the string and, if true, returns the string without the HMAC. In case of a HMAC validation error, an exception is thrown.
See also: validateHmac()
public validateAndStripHmac ( string $string ) : string
$string string The string with the HMAC appended (in the format 'string')
Résultat string the original string without the HMAC, if validation was successful

validateHmac() public méthode

Tests if a string $string matches the HMAC given by $hash.
public validateHmac ( string $string, string $hmac ) : boolean
$string string The string which should be validated
$hmac string The hash of the string
Résultat boolean TRUE if string and hash fit together, FALSE otherwise.

validatePassword() public méthode

Validate a hashed password using the configured password hashing strategy
public validatePassword ( string $password, string $hashedPasswordAndSalt ) : boolean
$password string The cleartext password
$hashedPasswordAndSalt string The hashed password with salt (if used) and an optional strategy identifier
Résultat boolean TRUE if the given password matches the hashed password

Property Details

$cache protected_oe property

protected StringFrontend,Neos\Cache\Frontend $cache
Résultat Neos\Cache\Frontend\StringFrontend

$encryptionKey protected_oe property

A private, unique key used for encryption tasks
protected string $encryptionKey
Résultat string

$objectManager protected_oe property

protected ObjectManagerInterface,Neos\Flow\ObjectManagement $objectManager
Résultat Neos\Flow\ObjectManagement\ObjectManagerInterface

$passwordHashingStrategies protected_oe property

protected array $passwordHashingStrategies
Résultat array

$strategySettings protected_oe property

protected array $strategySettings
Résultat array