17                                    const std::string& salt)
 const    20                      reinterpret_cast<const byte*
>(salt.data()),
    29                                    const byte salt[], 
size_t salt_len)
 const    43                      &salt[0], salt.
size());
    50                                    const byte secret[], 
size_t secret_len,
    51                                    const std::string& salt)
 const    54                      reinterpret_cast<const byte*>(salt.data()),
    62                                    const byte secret[], 
size_t secret_len,
    63                                    const byte salt[], 
size_t salt_len)
 const    65    return derive(key_len, secret, secret_len, salt, salt_len);
 SecureVector< byte > derive_key(size_t key_len, const MemoryRegion< byte > &secret, const std::string &salt="") const