br-crypto 0.4.8

This is an crypto
Documentation
use libaes::Cipher;
use crate::base64::decode;

pub fn aes_128_cbc(iv: &str, encrypted_data: &str, key: &str) -> Result<String, String> {
    if iv.len() != 24 {
        return Err(format!("(iv)长度不够: {}", key.len()));
    }
    if key.len() != 24 {
        return Err(format!("(key)长度不够: {}", key.len()));
    }
    let iv = decode(iv);
    let encrypted_data = decode(encrypted_data);
    let key = decode(key);

    let mut array_tmp = [0u8; 16];
    array_tmp[..16].copy_from_slice(key[..].as_ref());

    let cipher = Cipher::new_128(&array_tmp);
    let decrypted = cipher.cbc_decrypt(iv[..].as_ref(), encrypted_data[..].as_ref());
    Ok(unsafe { String::from_utf8_unchecked(decrypted) })
}