Function decrypt
pub fn decrypt(
t: Cipher,
key: &[u8],
iv: Option<&[u8]>,
data: &[u8],
) -> Result<Vec<u8>, ErrorStack>Available on (crate features
rustls or boring or acme) and crate feature boring only.Expand description
Decrypts data in one go, and returns the decrypted data.
Data is decrypted using the specified cipher type t in decrypt mode with the specified key
and initailization vector iv. Padding is enabled.
This is a convenient interface to Crypter to decrypt all data in one go. To decrypt a stream
of data increamentally , use Crypter instead.
ยงExamples
Decrypt data in AES128 CBC mode
use rama_boring::symm::{decrypt, Cipher};
let cipher = Cipher::aes_128_cbc();
let data = b"\xB4\xB9\xE7\x30\xD6\xD6\xF7\xDE\x77\x3F\x1C\xFF\xB3\x3E\x44\x5A\x91\xD7\x27\x62\
\x87\x4D\xFB\x3C\x5E\xC4\x59\x72\x4A\xF4\x7C\xA1";
let key = b"\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F";
let iv = b"\x00\x01\x02\x03\x04\x05\x06\x07\x00\x01\x02\x03\x04\x05\x06\x07";
let ciphertext = decrypt(
cipher,
key,
Some(iv),
data).unwrap();
assert_eq!(
b"Some Crypto Text",
&ciphertext[..]);