#![feature(test)]
extern crate test;
use field_encryption::FieldEncryption;
use field_encryption::FieldEncryptionError;
use test::Bencher;
#[bench]
fn encrypt_simple(b: &mut Bencher) {
let fe = FieldEncryption::new("[0-9]{1,5}", "[0-9]{1,5}", &[23; 32]).unwrap();
b.iter(|| fe.encrypt("12321").unwrap())
}
#[bench]
fn decrypt_simple(b: &mut Bencher) {
let fe = FieldEncryption::new("[0-9]{1,5}", "[0-9]{1,5}", &[23; 32]).unwrap();
let cipher_text = fe.encrypt("12321").unwrap();
b.iter(|| fe.decrypt(&cipher_text).unwrap())
}
#[bench]
fn encrypt_decrypt_simple(b: &mut Bencher) {
let fe = FieldEncryption::new("[0-9]{1,5}", "[0-9]{1,5}", &[23; 32]).unwrap();
b.iter(|| {
let cipher_text = fe.encrypt("12321").unwrap();
fe.decrypt(&cipher_text).unwrap();
})
}
#[bench]
fn encrypt_complex(b: &mut Bencher) {
let fe = FieldEncryption::new(
"[A-Z][a-z]{1,4}[0-9]{1,5}[?|!]?",
"[?|!]?[A-Z][a-z]{1,4}[0-9]{1,5}",
&[23; 32],
)
.unwrap();
b.iter(|| fe.encrypt("Abcde23?").unwrap())
}
#[bench]
fn decrypt_complex(b: &mut Bencher) {
let fe = FieldEncryption::new(
"[A-Z][a-z]{1,4}[0-9]{1,5}[?|!]?",
"[?|!]?[A-Z][a-z]{1,4}[0-9]{1,5}",
&[23; 32],
)
.unwrap();
let cipher_text = fe.encrypt("Abcde23?").unwrap();
b.iter(|| fe.decrypt(&cipher_text).unwrap())
}
#[bench]
fn encrypt_decrypt_complex(b: &mut Bencher) {
let fe = FieldEncryption::new(
"[A-Z][a-z]{1,4}[0-9]{1,5}[?|!]?",
"[?|!]?[A-Z][a-z]{1,4}[0-9]{1,5}",
&[23; 32],
)
.unwrap();
b.iter(|| {
let cipher_text = fe.encrypt("Abcde23?").unwrap();
fe.decrypt(&cipher_text).unwrap();
})
}
#[bench]
fn encrypt_large(b: &mut Bencher) {
let fe = FieldEncryption::new(
"[A-Z][a-z]{1,4} [0-9]{1,5} [a-z]{1,27}",
"[A-Z][a-z]{1,4} [0-9]{1,5} [a-z]{1,27}",
&[23; 32],
)
.unwrap();
b.iter(|| fe.encrypt("Abcde 42 aaaaabbbbbcccccddddd").unwrap())
}