use rgp::{
Components, Decrypt, Encrypt, decrypt, encrypt, extract_components_mut, generate_fingerprint,
};
pub fn main() -> Result<(), &'static str> {
let (fingerprint, verifier) = generate_fingerprint();
let session_key = [0u8; 32];
let content = vec![0u8; 5_000_000];
let (mut encrypted_content, _) = encrypt(
fingerprint,
content.clone(),
Encrypt::Session(session_key, false),
)?;
if let Components::Session(_) = extract_components_mut(0, &mut encrypted_content) {
let (decrypted_content, _) = decrypt(
Some(&verifier),
&encrypted_content,
Decrypt::Session(session_key, None),
)?;
assert_eq!(decrypted_content, content);
};
Ok(())
}