enigma-storage 0.0.1

Encrypted local storage for Enigma with mandatory at-rest encryption and cross-platform key vault providers.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use crate::error::Result;
use crate::kdf::{derive_wrapping_key, KdfParams};

#[test]
fn argon2_deterministic_and_salt_sensitive() -> Result<()> {
    let params = KdfParams::default();
    let password = b"password";
    let salt1 = b"1234567890abcdef";
    let salt2 = b"abcdef1234567890";
    let k1 = derive_wrapping_key(password, salt1, &params)?;
    let k2 = derive_wrapping_key(password, salt1, &params)?;
    let k3 = derive_wrapping_key(password, salt2, &params)?;
    assert_eq!(k1, k2);
    assert_ne!(k1, k3);
    Ok(())
}