NAME
Crypt::Passphrase::Encoder - Base class for Crypt::Passphrase encoders
VERSION
version 0.019
DESCRIPTION
This is a base class for password encoders. It is a subclass of Crypt::Passphrase::Validator
.
SUBCLASSING
Mandatory methods
It expects the subclass to implement the following four methods:
hash_password
$encoder->hash_password($password)
This hashes a $password
. Note that this will typically return a different value each time since it uses a unique salt every time.
verify_password
$encoder->verify_password($password, $hash)
This checks if a $password
satisfies $hash
.
needs_rehash
$encoder->needs_rehash($hash)
This method will return true if the password hash needs a rehash. This may either mean it's using a different hashing algoritm, or because it's using different parameters.
crypt_subtypes
$encoder->crypt_subtypes
This method returns the types of crypt entries this validator supports. This is used to implement accepts_hash
.
Optional methods
recode_hash
$encoder->recode_hash($hash)
Provided methods
It provides the following methods to aid in implementing encoders:
random_bytes
$encoder->random_bytes($count)
This is a utility method to aid in generating a good salt.
secure_compare
$encoder->secure_compare($left, $right)
This compares two strings in a way that resists timing attacks.
AUTHOR
Leon Timmermans <fawaka@gmail.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2021 by Leon Timmermans.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.