pub trait KeyInit: KeySizeUser + Sized {
// Required method
fn new(key: &Key<Self>) -> Self;
// Provided methods
fn weak_key_test(_key: &Key<Self>) -> Result<(), WeakKeyError> { ... }
fn new_checked(key: &Key<Self>) -> Result<Self, WeakKeyError> { ... }
fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength> { ... }
fn generate_key<R: CryptoRng>(rng: &mut R) -> Key<Self> { ... }
}Expand description
Types which can be initialized from a key.
Required Methods§
Provided Methods§
Sourcefn weak_key_test(_key: &Key<Self>) -> Result<(), WeakKeyError>
fn weak_key_test(_key: &Key<Self>) -> Result<(), WeakKeyError>
Check if the key might be considered weak.
Sourcefn new_checked(key: &Key<Self>) -> Result<Self, WeakKeyError>
fn new_checked(key: &Key<Self>) -> Result<Self, WeakKeyError>
Create new value from fixed size key after checking it for weakness.
Sourcefn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength>
fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength>
Create new value from variable size key.
Sourcefn generate_key<R: CryptoRng>(rng: &mut R) -> Key<Self>
👎Deprecated since 0.2.0: use the Generate trait impl on Key insteadAvailable on crate feature rand_core only.
fn generate_key<R: CryptoRng>(rng: &mut R) -> Key<Self>
Generate trait impl on Key insteadrand_core only.Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.