pub fn decrypt(aes_key: &[u8], data: &[u8]) -> Result<Vec<u8>>Expand description
使用 AES256 CBC 解密,解决了 PKCS7 填充问题
use wechat_crypto::{decode_aes_key, decrypt, parse_plain_text};
use base64::Engine;
use base64::engine::general_purpose::STANDARD;
fn test_decrypt() {
let encoded_aes_key = "kWxPEV2UEDyxWpmPdKC3F4dgPDmOvfKX1HGnEUDS1aQ";
let aes_key = decode_aes_key(encoded_aes_key).unwrap();
let r = decrypt(
aes_key.as_slice(),
&STANDARD
.decode("9s4gMv99m88kKTh/H8IdkNiFGeG9pd7vNWl50fGRWXY=")
.unwrap(),
)
.unwrap();
dbg!(String::from_utf8(r.clone()).unwrap());
let (t, _) = parse_plain_text(&r).unwrap();
assert_eq!("test", &t);
}