Expand description
This module is used for standard, typical encryption and decryption.
The data is fully loaded into memory before encryption/decryption, and it is processed within the same “block”
§Examples
ⓘ
// obviously the key should contain data, not be an empty vec
let raw_key = Protected::new(vec![0u8; 128]);
let salt = gen_salt();
let key = balloon_hash(raw_key, &salt, &HeaderVersion::V4).unwrap();
let cipher = Ciphers::initialize(key, &Algorithm::XChaCha20Poly1305).unwrap();
let secret = "super secret information";
let nonce = gen_nonce(&Algorithm::XChaCha20Poly1305, &Mode::MemoryMode);
let encrypted_data = cipher.encrypt(&nonce, secret.as_bytes()).unwrap();
let decrypted_data = cipher.decrypt(&nonce, encrypted_data.as_slice()).unwrap();
assert_eq!(secret, decrypted_data);
Enums§
- Ciphers
- This
enum
defines all possible cipher types, for each AEAD that is supported bydexios-core