false-bottom/examples/file.rs

27 lines
843 B
Rust

use false_bottom::{FB128, FBAlgo, Encode};
use std::time::Instant;
fn main() {
let inp = vec![0_u8; 1024000];
println!("Input size: {} Bytes", inp.len());
let mut fb = FB128::init(2, 2).unwrap();
println!("Encrypting...");
let now = Instant::now();
let key = fb.add(&inp);
let t_encr = now.elapsed().as_secs_f32();
let encr = fb.to_bytes().0;
let r_encr = encr.len() as f32 / t_encr;
println!("Encryption: {t_encr:.2} @ {r_encr:.1} B/sec");
println!("Decrypting...");
let now = Instant::now();
let decr = fb.decrypt(&key).unwrap();
let t_decr = now.elapsed().as_secs_f32();
let r_decr = decr.len() as f32 / t_decr;
println!("Decryption: {t_decr:.2} @ {r_decr:.1} B/sec");
let extra = encr.len() - inp.len();
let percent = extra as f32/encr.len() as f32 * 100_f32;
println!("Extra Bytes: {extra} Bytes ({percent}%)");
}