pub struct VaultBackup {
pub format_version: u32,
pub metadata: BackupMetadata,
pub salt: Vec<u8>,
pub argon2_params: BackupArgon2Params,
pub encryption_algorithm: Algorithm,
pub encrypted_data: Vec<u8>,
}Expand description
A complete encrypted backup of a vault
Fields§
§format_version: u32Backup format version
metadata: BackupMetadataBackup metadata
salt: Vec<u8>Salt for password derivation (32 bytes)
argon2_params: BackupArgon2ParamsArgon2 parameters used
encryption_algorithm: AlgorithmAlgorithm used for encryption
encrypted_data: Vec<u8>Encrypted backup data (nonce + ciphertext + tag)
Implementations§
Source§impl VaultBackup
impl VaultBackup
Sourcepub fn new(
backup_data: &BackupData,
password: &[u8],
config: &BackupConfig,
) -> Result<Self>
pub fn new( backup_data: &BackupData, password: &[u8], config: &BackupConfig, ) -> Result<Self>
Create a new encrypted backup
Sourcepub fn decrypt(&self, password: &[u8]) -> Result<BackupData>
pub fn decrypt(&self, password: &[u8]) -> Result<BackupData>
Decrypt and restore a backup
Sourcepub fn from_bytes(bytes: &[u8]) -> Result<Self>
pub fn from_bytes(bytes: &[u8]) -> Result<Self>
Deserialize backup from binary format
Trait Implementations§
Source§impl Clone for VaultBackup
impl Clone for VaultBackup
Source§fn clone(&self) -> VaultBackup
fn clone(&self) -> VaultBackup
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for VaultBackup
impl Debug for VaultBackup
Source§impl<'de> Deserialize<'de> for VaultBackup
impl<'de> Deserialize<'de> for VaultBackup
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for VaultBackup
impl RefUnwindSafe for VaultBackup
impl Send for VaultBackup
impl Sync for VaultBackup
impl Unpin for VaultBackup
impl UnwindSafe for VaultBackup
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more