26af08e
pub mod app;
pub mod envelope;
pub mod error;
pub mod key;
pub use app::{decryptor, encryptor, encryptor_for, encryptor_from_public_pem, fingerprint_for};
pub use envelope::{
ENVELOPE_PREFIX, decrypt, decrypt_string, encrypt, encrypt_string, envelope_key_id,
};
pub use error::{CryptError, CryptResult};
pub use key::{DEFAULT_KEY_BITS, MIN_KEY_BITS, RsaDecryptor, RsaEncryptor, RsaKeyPair};
pub fn constant_time_eq(left: &[u8], right: &[u8]) -> bool {
if left.len() != right.len() {
return false;
}
let mut diff = 0u8;
for (a, b) in left.iter().zip(right.iter()) {
diff |= a ^ b;
}
diff == 0
}