cpchain_rust_sdk/cpc_aes/
common.rs

1pub enum InitVector {
2	I16([u8; 16])
3}
4
5impl InitVector {
6    // TODO 实现泛型,或者宏
7    pub fn iv(&self) -> [u8; 16] {
8        match *self {
9            InitVector::I16(iv) => iv,
10        }
11    }
12}
13
14pub enum Mode {
15	// Electronic Block Encrypt
16	ECB,
17	// Counter mode encryption
18	CTR(InitVector)
19}
20
21pub struct AESParams {
22	pub mode: Option<Mode>,
23}