pub struct XSalsa20Poly1305KeyRef(_);
Trait Implementations
sourceimpl Clone for XSalsa20Poly1305KeyRef
impl Clone for XSalsa20Poly1305KeyRef
sourcepub fn clone(&self) -> XSalsa20Poly1305KeyRef
pub fn clone(&self) -> XSalsa20Poly1305KeyRef
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for XSalsa20Poly1305KeyRef
impl Debug for XSalsa20Poly1305KeyRef
The only meaningful debug information for a cryptograhpic secret is the literal bytes. Also, encodings like base64 are not constant time so debugging could open some weird side channel issue trying to be ‘human friendly’. It seems better to never try to encode secrets.
Note that when using this crate with feature “subtle-encoding”, a hex representation will be used.
@todo maybe we want something like HIDDEN by default and putting the actual bytes behind a feature flag?
sourceimpl<'de> Deserialize<'de> for XSalsa20Poly1305KeyRef
impl<'de> Deserialize<'de> for XSalsa20Poly1305KeyRef
sourcepub fn deserialize<D>(
deserializer: D
) -> Result<XSalsa20Poly1305KeyRef, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
pub fn deserialize<D>(
deserializer: D
) -> Result<XSalsa20Poly1305KeyRef, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl From<[u8; 32]> for XSalsa20Poly1305KeyRef
impl From<[u8; 32]> for XSalsa20Poly1305KeyRef
Trivial new type derivation. Secrets should have private interiors and be constructed directly from fixed length arrays of known length.
sourceimpl PartialEq<XSalsa20Poly1305KeyRef> for XSalsa20Poly1305KeyRef
impl PartialEq<XSalsa20Poly1305KeyRef> for XSalsa20Poly1305KeyRef
Constant time equality check. This mitigates timing attacks where a remote agent can reverse engineer data by measuring tiny changes in latency associated with optimised equality checks. More matching bytes = more latency = vulnerability. This type of attack has been successfully demonstrated over a network despite varied latencies.
sourceimpl Serialize for XSalsa20Poly1305KeyRef
impl Serialize for XSalsa20Poly1305KeyRef
sourcepub fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
pub fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
Serialize this value into the given Serde serializer. Read more
sourceimpl<'_> TryFrom<&'_ [u8]> for XSalsa20Poly1305KeyRef
impl<'_> TryFrom<&'_ [u8]> for XSalsa20Poly1305KeyRef
type Error = SecurePrimitiveError
type Error = SecurePrimitiveError
The type returned in the event of a conversion error.
sourceimpl<'_> TryFrom<&'_ XSalsa20Poly1305KeyRef> for SerializedBytes
impl<'_> TryFrom<&'_ XSalsa20Poly1305KeyRef> for SerializedBytes
type Error = SerializedBytesError
type Error = SerializedBytesError
The type returned in the event of a conversion error.
sourcepub fn try_from(
t: &XSalsa20Poly1305KeyRef
) -> Result<SerializedBytes, SerializedBytesError>
pub fn try_from(
t: &XSalsa20Poly1305KeyRef
) -> Result<SerializedBytes, SerializedBytesError>
Performs the conversion.
sourceimpl TryFrom<SerializedBytes> for XSalsa20Poly1305KeyRef
impl TryFrom<SerializedBytes> for XSalsa20Poly1305KeyRef
type Error = SerializedBytesError
type Error = SerializedBytesError
The type returned in the event of a conversion error.
sourcepub fn try_from(
sb: SerializedBytes
) -> Result<XSalsa20Poly1305KeyRef, SerializedBytesError>
pub fn try_from(
sb: SerializedBytes
) -> Result<XSalsa20Poly1305KeyRef, SerializedBytesError>
Performs the conversion.
sourceimpl TryFrom<Vec<u8, Global>> for XSalsa20Poly1305KeyRef
impl TryFrom<Vec<u8, Global>> for XSalsa20Poly1305KeyRef
type Error = SecurePrimitiveError
type Error = SecurePrimitiveError
The type returned in the event of a conversion error.
sourceimpl TryFrom<XSalsa20Poly1305KeyRef> for SerializedBytes
impl TryFrom<XSalsa20Poly1305KeyRef> for SerializedBytes
type Error = SerializedBytesError
type Error = SerializedBytesError
The type returned in the event of a conversion error.
sourcepub fn try_from(
t: XSalsa20Poly1305KeyRef
) -> Result<SerializedBytes, SerializedBytesError>
pub fn try_from(
t: XSalsa20Poly1305KeyRef
) -> Result<SerializedBytes, SerializedBytesError>
Performs the conversion.
impl Copy for XSalsa20Poly1305KeyRef
impl Eq for XSalsa20Poly1305KeyRef
Auto Trait Implementations
impl RefUnwindSafe for XSalsa20Poly1305KeyRef
impl Send for XSalsa20Poly1305KeyRef
impl Sync for XSalsa20Poly1305KeyRef
impl Unpin for XSalsa20Poly1305KeyRef
impl UnwindSafe for XSalsa20Poly1305KeyRef
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcepub fn equivalent(&self, key: &K) -> bool
pub fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
sourcefn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
T: Future, type Output = <T as Future>::Output;
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
fn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more