ReversibleKeyGenerator

Trait ReversibleKeyGenerator 

Source
pub trait ReversibleKeyGenerator: KeyGenerator {
    type ReversibleHasher;

    // Required method
    fn decode_final_key(
        key_material: &[u8],
    ) -> Result<(Self::Key, &[u8]), Error>;
}
Expand description

A trait that indicates the hashers for the keys generated are all reversible.

Required Associated Types§

Required Methods§

Source

fn decode_final_key(key_material: &[u8]) -> Result<(Self::Key, &[u8]), Error>

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.

Implementations on Foreign Types§

Source§

impl<TupleElement0: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement1: ReversibleKeyGenerator + KeyGeneratorInner> ReversibleKeyGenerator for (TupleElement0, TupleElement1)

Source§

type ReversibleHasher = (<TupleElement0 as ReversibleKeyGenerator>::ReversibleHasher, <TupleElement1 as ReversibleKeyGenerator>::ReversibleHasher)

Source§

fn decode_final_key(key_material: &[u8]) -> Result<(Self::Key, &[u8]), Error>

Source§

impl<TupleElement0: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement1: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement2: ReversibleKeyGenerator + KeyGeneratorInner> ReversibleKeyGenerator for (TupleElement0, TupleElement1, TupleElement2)

Source§

type ReversibleHasher = (<TupleElement0 as ReversibleKeyGenerator>::ReversibleHasher, <TupleElement1 as ReversibleKeyGenerator>::ReversibleHasher, <TupleElement2 as ReversibleKeyGenerator>::ReversibleHasher)

Source§

fn decode_final_key(key_material: &[u8]) -> Result<(Self::Key, &[u8]), Error>

Source§

impl<TupleElement0: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement1: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement2: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement3: ReversibleKeyGenerator + KeyGeneratorInner> ReversibleKeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3)

Source§

impl<TupleElement0: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement1: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement2: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement3: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement4: ReversibleKeyGenerator + KeyGeneratorInner> ReversibleKeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4)

Source§

impl<TupleElement0: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement1: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement2: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement3: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement4: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement5: ReversibleKeyGenerator + KeyGeneratorInner> ReversibleKeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5)

Source§

impl<TupleElement0: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement1: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement2: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement3: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement4: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement5: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement6: ReversibleKeyGenerator + KeyGeneratorInner> ReversibleKeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6)

Source§

impl<TupleElement0: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement1: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement2: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement3: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement4: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement5: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement6: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement7: ReversibleKeyGenerator + KeyGeneratorInner> ReversibleKeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7)

Source§

impl<TupleElement0: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement1: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement2: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement3: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement4: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement5: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement6: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement7: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement8: ReversibleKeyGenerator + KeyGeneratorInner> ReversibleKeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8)

Source§

impl<TupleElement0: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement1: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement2: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement3: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement4: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement5: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement6: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement7: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement8: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement9: ReversibleKeyGenerator + KeyGeneratorInner> ReversibleKeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9)

Source§

impl<TupleElement0: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement1: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement2: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement3: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement4: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement5: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement6: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement7: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement8: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement9: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement10: ReversibleKeyGenerator + KeyGeneratorInner> ReversibleKeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10)

Source§

impl<TupleElement0: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement1: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement2: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement3: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement4: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement5: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement6: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement7: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement8: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement9: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement10: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement11: ReversibleKeyGenerator + KeyGeneratorInner> ReversibleKeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11)

Source§

impl<TupleElement0: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement1: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement2: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement3: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement4: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement5: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement6: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement7: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement8: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement9: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement10: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement11: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement12: ReversibleKeyGenerator + KeyGeneratorInner> ReversibleKeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12)

Source§

impl<TupleElement0: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement1: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement2: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement3: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement4: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement5: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement6: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement7: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement8: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement9: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement10: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement11: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement12: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement13: ReversibleKeyGenerator + KeyGeneratorInner> ReversibleKeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13)

Source§

impl<TupleElement0: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement1: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement2: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement3: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement4: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement5: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement6: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement7: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement8: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement9: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement10: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement11: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement12: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement13: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement14: ReversibleKeyGenerator + KeyGeneratorInner> ReversibleKeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14)

Source§

impl<TupleElement0: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement1: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement2: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement3: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement4: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement5: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement6: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement7: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement8: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement9: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement10: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement11: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement12: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement13: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement14: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement15: ReversibleKeyGenerator + KeyGeneratorInner> ReversibleKeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15)

Source§

impl<TupleElement0: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement1: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement2: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement3: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement4: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement5: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement6: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement7: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement8: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement9: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement10: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement11: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement12: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement13: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement14: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement15: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement16: ReversibleKeyGenerator + KeyGeneratorInner> ReversibleKeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16)

Source§

impl<TupleElement0: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement1: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement2: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement3: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement4: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement5: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement6: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement7: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement8: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement9: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement10: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement11: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement12: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement13: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement14: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement15: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement16: ReversibleKeyGenerator + KeyGeneratorInner, TupleElement17: ReversibleKeyGenerator + KeyGeneratorInner> ReversibleKeyGenerator for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17)

Implementors§