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}