decrypt

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[..]);