![]() |
libfilezilla
|
Symmetric encryption key with associated salt. More...
#include <encryption.hpp>
Public Types | |
enum | { key_size = 32 , salt_size = 32 } |
Size in octets of key an salt. | |
enum | { min_iterations = 100000 } |
Public Member Functions | |
operator bool () const | |
std::vector< uint8_t > const & | salt () const |
std::string | to_base64 (bool pad=true) const |
std::vector< uint8_t > | encrypt_key (fz::public_key const &kek) |
std::vector< uint8_t > const & | key () const |
Static Public Member Functions | |
static symmetric_key | generate () |
Generates a random symmetric key. | |
static symmetric_key | from_password (std::vector< uint8_t > const &password, std::vector< uint8_t > const &salt, unsigned int iterations=min_iterations) |
Derives a symmetric key using PBKDF2-SHA256 from the given password and salt. | |
static symmetric_key | from_password (std::string_view const &password, std::vector< uint8_t > const &salt, unsigned int iterations=min_iterations) |
static symmetric_key | from_base64 (std::string_view const &base64) |
static symmetric_key | from_base64 (std::wstring_view const &base64) |
static symmetric_key | decrypt_key (std::vector< uint8_t > const &encrypted, fz::private_key const &kek) |
static size_t | encryption_overhead () |
Symmetric encryption key with associated salt.
|
static |
Derives a symmetric key using PBKDF2-SHA256 from the given password and salt.
iterations | cannot be smaller than min_iterations |