Инициализировать GenericArray для aead :: NewAead - PullRequest
1 голос
/ 07 февраля 2020

Я пытаюсь реализовать шифрование Aead для проекта. Для того, что я понял, я сначала должен создать AEAD без сохранения состояния, вызвав aead :: NewAead :: new (), который принимает GenericArray в качестве параметра. Я инициализирую этот массив, вызывая let aeas_key = GenericArray::from([1u8; 32]);, затем использую ключ, следующий за let new_aead = NewAead::new(aeas_key);, и он выводит следующую ошибку:

 = note: expected struct `generic_array::GenericArray<u8, _>`
   found struct `generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>,
   typenum::bit::B0>, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>>`
 = note: perhaps two different versions of crate `generic_array` are being used?

Я знаю, что размер GenericArray должен быть без знака, поэтому я попробовал следующее:

   let len = ArrayLength::<32>;
   let aeas_key = GenericArray::<1u8, len>;
   let new_aead = NewAead::new(aeas_key);

Но это дает мне:

 "type arguments must be declared prior to const arguments" at the line:
 let aeas_key = GenericArray::<1u8, len>;

Вот мой файл Car go .toml:

[package]
name = "..."
version = "0.1.0"
authors = ["..."]
edition = "2018"

[lib]
name = "DecDbApi"
crate-type = ["cdylib"]

[dependencies.pyo3]
git = "https://github.com/PyO3/pyo3"
features = ["extension-module"]

[dependencies]
sha2 = "0.8.1"
hex = "0.4.0"
serde_json = "1.0"
igd = "0.10.0"
serde = { version = "1.0", features = ["derive"] }
aead = "0.2.0"
generic-array = "0.13.2"
typenum = "1.11.2"

Кто-нибудь знает в чем проблема? Спасибо.

...