Struct hdi::prelude::nonce::XSalsa20Poly1305Nonce
source · pub struct XSalsa20Poly1305Nonce(_);
Trait Implementations§
source§impl AsRef<[u8]> for XSalsa20Poly1305Nonce
impl AsRef<[u8]> for XSalsa20Poly1305Nonce
source§impl Clone for XSalsa20Poly1305Nonce
impl Clone for XSalsa20Poly1305Nonce
source§fn clone(&self) -> XSalsa20Poly1305Nonce
fn clone(&self) -> XSalsa20Poly1305Nonce
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for XSalsa20Poly1305Nonce
impl Debug for XSalsa20Poly1305Nonce
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.
source§impl<'de> Deserialize<'de> for XSalsa20Poly1305Nonce
impl<'de> Deserialize<'de> for XSalsa20Poly1305Nonce
source§fn deserialize<D>(
deserializer: D
) -> Result<XSalsa20Poly1305Nonce, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D
) -> Result<XSalsa20Poly1305Nonce, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
source§impl From<[u8; 24]> for XSalsa20Poly1305Nonce
impl From<[u8; 24]> for XSalsa20Poly1305Nonce
Trivial new type derivation. Secrets should have private interiors and be constructed directly from fixed length arrays of known length.
source§impl PartialEq<XSalsa20Poly1305Nonce> for XSalsa20Poly1305Nonce
impl PartialEq<XSalsa20Poly1305Nonce> for XSalsa20Poly1305Nonce
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.
source§fn eq(&self, other: &XSalsa20Poly1305Nonce) -> bool
fn eq(&self, other: &XSalsa20Poly1305Nonce) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for XSalsa20Poly1305Nonce
impl Serialize for XSalsa20Poly1305Nonce
source§fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
source§impl TryFrom<&[u8]> for XSalsa20Poly1305Nonce
impl TryFrom<&[u8]> for XSalsa20Poly1305Nonce
§type Error = SecurePrimitiveError
type Error = SecurePrimitiveError
source§fn try_from(
slice: &[u8]
) -> Result<XSalsa20Poly1305Nonce, <XSalsa20Poly1305Nonce as TryFrom<&[u8]>>::Error>
fn try_from(
slice: &[u8]
) -> Result<XSalsa20Poly1305Nonce, <XSalsa20Poly1305Nonce as TryFrom<&[u8]>>::Error>
source§impl TryFrom<&XSalsa20Poly1305Nonce> for SerializedBytes
impl TryFrom<&XSalsa20Poly1305Nonce> for SerializedBytes
§type Error = SerializedBytesError
type Error = SerializedBytesError
source§fn try_from(
t: &XSalsa20Poly1305Nonce
) -> Result<SerializedBytes, SerializedBytesError>
fn try_from(
t: &XSalsa20Poly1305Nonce
) -> Result<SerializedBytes, SerializedBytesError>
source§impl TryFrom<SerializedBytes> for XSalsa20Poly1305Nonce
impl TryFrom<SerializedBytes> for XSalsa20Poly1305Nonce
§type Error = SerializedBytesError
type Error = SerializedBytesError
source§fn try_from(
sb: SerializedBytes
) -> Result<XSalsa20Poly1305Nonce, SerializedBytesError>
fn try_from(
sb: SerializedBytes
) -> Result<XSalsa20Poly1305Nonce, SerializedBytesError>
source§impl TryFrom<XSalsa20Poly1305Nonce> for SerializedBytes
impl TryFrom<XSalsa20Poly1305Nonce> for SerializedBytes
§type Error = SerializedBytesError
type Error = SerializedBytesError
source§fn try_from(
t: XSalsa20Poly1305Nonce
) -> Result<SerializedBytes, SerializedBytesError>
fn try_from(
t: XSalsa20Poly1305Nonce
) -> Result<SerializedBytes, SerializedBytesError>
impl Copy for XSalsa20Poly1305Nonce
impl Eq for XSalsa20Poly1305Nonce
Auto Trait Implementations§
impl RefUnwindSafe for XSalsa20Poly1305Nonce
impl Send for XSalsa20Poly1305Nonce
impl Sync for XSalsa20Poly1305Nonce
impl Unpin for XSalsa20Poly1305Nonce
impl UnwindSafe for XSalsa20Poly1305Nonce
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
§impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
§fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.