27 std::vector<uint8_t>
hashPassword(
const std::string& password,
const std::vector<uint8_t>& salt);
37 bool verifyPassword(
const std::string& password,
const std::vector<uint8_t>& salt,
const std::vector<uint8_t>& expectedHash);
55 bool verifyPasswordBase64(
const std::string& password,
const std::vector<uint8_t>& salt,
const std::string& expectedBase64Hash);
90 bool verifyEncoded(
const std::string& password,
const std::string& combinedSaltAndHash);
103 static std::string
toBase64(
const std::vector<uint8_t>& data);
116 static std::vector<uint8_t>
fromBase64(
const std::string& base64);
static constexpr size_t HASH_LENGTH
static constexpr int DEFAULT_ITERATIONS
static std::vector< uint8_t > generateSalt(size_t length)
PasswordHasher(int iterations=DEFAULT_ITERATIONS)
Constructs a PasswordHasher with the specified number of iterations.
bool verifyPassword(const std::string &password, const std::vector< uint8_t > &salt, const std::vector< uint8_t > &expectedHash)
Verifies a password against an expected hash using the provided salt.
bool verifyPasswordBase64(const std::string &password, const std::vector< uint8_t > &salt, const std::string &expectedBase64Hash)
Verifies a password against an expected Base64 encoded hash using the provided salt.
bool verifyEncoded(const std::string &password, const std::string &combinedSaltAndHash)
static std::string toBase64(const std::vector< uint8_t > &data)
std::string hashAndEncode(const std::string &password)
std::vector< uint8_t > hashPassword(const std::string &password, const std::vector< uint8_t > &salt)
Hashes a password with the given salt.
std::string hashPasswordBase64(const std::string &password, const std::vector< uint8_t > &salt)
Hashes a password and encodes it in Base64 format.
static std::vector< uint8_t > fromBase64(const std::string &base64)