我正在尝试使用 AES 板条箱,它提供三种算法:AES128、AES192 和 AES256。我正在尝试创建一个结构,该结构可以通过检测密钥大小来创建正确的算法,并将其保存以供以后使用。
我看到它们都实现了 BlockEncrypt (我只需要加密)特征,但是当我尝试在结构中创建具有这种类型的字段时,即使提供大小,我也会得到“该特征BlockEncrypt无法制成对象。”特征不能被制作成对象,因为它需要Self: Sized“错误。
pub struct MyStruct<'a, T: Sized> {
ciph: Box< dyn BlockEncrypt<BlockSize = T>>,
}
Run Code Online (Sandbox Code Playgroud) rust ×1