#[repr(C)]pub struct H512(pub [u8; 64]);
Expand description
Fixed-size uninterpreted hash type with 64 bytes (512 bits) size.
Tuple Fields§
§0: [u8; 64]
Implementations§
§impl H512
impl H512
pub const fn repeat_byte(byte: u8) -> H512
pub const fn repeat_byte(byte: u8) -> H512
Returns a new fixed hash where all bits are set to the given byte.
pub fn as_bytes_mut(&mut self) -> &mut [u8] ⓘ
pub fn as_bytes_mut(&mut self) -> &mut [u8] ⓘ
Extracts a mutable byte slice containing the entire fixed hash.
pub const fn as_fixed_bytes(&self) -> &[u8; 64]
pub const fn as_fixed_bytes(&self) -> &[u8; 64]
Extracts a reference to the byte array containing the entire fixed hash.
pub fn as_fixed_bytes_mut(&mut self) -> &mut [u8; 64]
pub fn as_fixed_bytes_mut(&mut self) -> &mut [u8; 64]
Extracts a reference to the byte array containing the entire fixed hash.
pub const fn to_fixed_bytes(self) -> [u8; 64]
pub const fn to_fixed_bytes(self) -> [u8; 64]
Returns the inner bytes array.
pub fn as_mut_ptr(&mut self) -> *mut u8
pub fn as_mut_ptr(&mut self) -> *mut u8
Returns a mutable raw pointer to the value.
pub fn assign_from_slice(&mut self, src: &[u8])
pub fn assign_from_slice(&mut self, src: &[u8])
pub fn from_slice(src: &[u8]) -> H512
pub fn from_slice(src: &[u8]) -> H512
§impl H512
impl H512
Utilities using the byteorder
crate.
pub fn to_low_u64_be(&self) -> u64
pub fn to_low_u64_be(&self) -> u64
Returns the lowest 8 bytes interpreted as big-endian.
§Note
For hash type with less than 8 bytes the missing bytes are interpreted as being zero.
pub fn to_low_u64_le(&self) -> u64
pub fn to_low_u64_le(&self) -> u64
Returns the lowest 8 bytes interpreted as little-endian.
§Note
For hash type with less than 8 bytes the missing bytes are interpreted as being zero.
pub fn to_low_u64_ne(&self) -> u64
pub fn to_low_u64_ne(&self) -> u64
Returns the lowest 8 bytes interpreted as native-endian.
§Note
For hash type with less than 8 bytes the missing bytes are interpreted as being zero.
pub fn from_low_u64_be(val: u64) -> H512
pub fn from_low_u64_be(val: u64) -> H512
Creates a new hash type from the given u64
value.
§Note
- The given
u64
value is interpreted as big endian. - Ignores the most significant bits of the given value if the hash type has less than 8 bytes.
pub fn from_low_u64_le(val: u64) -> H512
pub fn from_low_u64_le(val: u64) -> H512
Creates a new hash type from the given u64
value.
§Note
- The given
u64
value is interpreted as little endian. - Ignores the most significant bits of the given value if the hash type has less than 8 bytes.
pub fn from_low_u64_ne(val: u64) -> H512
pub fn from_low_u64_ne(val: u64) -> H512
Creates a new hash type from the given u64
value.
§Note
- The given
u64
value is interpreted as native endian. - Ignores the most significant bits of the given value if the hash type has less than 8 bytes.
§impl H512
impl H512
Utilities using the rand
crate.
pub fn randomize_using<R>(&mut self, rng: &mut R)
pub fn randomize_using<R>(&mut self, rng: &mut R)
Assign self
to a cryptographically random value using the
given random number generator.
pub fn randomize(&mut self)
pub fn randomize(&mut self)
Assign self
to a cryptographically random value.
pub fn random_using<R>(rng: &mut R) -> H512
pub fn random_using<R>(rng: &mut R) -> H512
Create a new hash with cryptographically random content using the given random number generator.
Trait Implementations§
§impl BigEndianHash for H512
impl BigEndianHash for H512
§impl<'r> BitAndAssign<&'r H512> for H512
impl<'r> BitAndAssign<&'r H512> for H512
§fn bitand_assign(&mut self, rhs: &'r H512)
fn bitand_assign(&mut self, rhs: &'r H512)
&=
operation. Read more§impl BitAndAssign for H512
impl BitAndAssign for H512
§fn bitand_assign(&mut self, rhs: H512)
fn bitand_assign(&mut self, rhs: H512)
&=
operation. Read more§impl<'r> BitOrAssign<&'r H512> for H512
impl<'r> BitOrAssign<&'r H512> for H512
§fn bitor_assign(&mut self, rhs: &'r H512)
fn bitor_assign(&mut self, rhs: &'r H512)
|=
operation. Read more§impl BitOrAssign for H512
impl BitOrAssign for H512
§fn bitor_assign(&mut self, rhs: H512)
fn bitor_assign(&mut self, rhs: H512)
|=
operation. Read more§impl<'r> BitXorAssign<&'r H512> for H512
impl<'r> BitXorAssign<&'r H512> for H512
§fn bitxor_assign(&mut self, rhs: &'r H512)
fn bitxor_assign(&mut self, rhs: &'r H512)
^=
operation. Read more§impl BitXorAssign for H512
impl BitXorAssign for H512
§fn bitxor_assign(&mut self, rhs: H512)
fn bitxor_assign(&mut self, rhs: H512)
^=
operation. Read more§impl<'de> Deserialize<'de> for H512
impl<'de> Deserialize<'de> for H512
§fn deserialize<D>(
deserializer: D
) -> Result<H512, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D
) -> Result<H512, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
§impl Encode for H512
impl Encode for H512
§fn using_encoded<R, F>(&self, f: F) -> R
fn using_encoded<R, F>(&self, f: F) -> R
§impl<I> Index<I> for H512where
I: SliceIndex<[u8]>,
impl<I> Index<I> for H512where
I: SliceIndex<[u8]>,
§impl Ord for H512
impl Ord for H512
§impl PartialOrd for H512
impl PartialOrd for H512
§fn partial_cmp(&self, other: &H512) -> Option<Ordering>
fn partial_cmp(&self, other: &H512) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read more§impl Serialize for H512
impl Serialize for H512
§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,
impl Copy for H512
impl EncodeLike for H512
impl Eq for H512
Auto Trait Implementations§
impl RefUnwindSafe for H512
impl Send for H512
impl Sync for H512
impl Unpin for H512
impl UnwindSafe for H512
Blanket Implementations§
§impl<T, U> AsByteSlice<T> for U
impl<T, U> AsByteSlice<T> for U
fn as_byte_slice(&self) -> &[u8] ⓘ
§impl<T, U> AsMutByteSlice<T> for U
impl<T, U> AsMutByteSlice<T> for U
fn as_mut_byte_slice(&mut self) -> &mut [u8] ⓘ
§impl<U> AsMutSliceOf for U
impl<U> AsMutSliceOf for U
fn as_mut_slice_of<T>(&mut self) -> Result<&mut [T], Error>where
T: FromByteSlice,
§impl<U> AsSliceOf for U
impl<U> AsSliceOf for U
fn as_slice_of<T>(&self) -> Result<&[T], Error>where
T: FromByteSlice,
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> DecodeAll for Twhere
T: Decode,
impl<T> DecodeAll for Twhere
T: Decode,
§fn decode_all(input: &[u8]) -> Result<T, Error>
fn decode_all(input: &[u8]) -> Result<T, Error>
Self
and consume all of the given input data. If not all data is consumed, an error
is returned.§impl<T> DecodeLimit for Twhere
T: Decode,
impl<T> DecodeLimit for Twhere
T: Decode,
§fn decode_all_with_depth_limit(limit: u32, input: &[u8]) -> Result<T, Error>
fn decode_all_with_depth_limit(limit: u32, input: &[u8]) -> Result<T, Error>
Self
and consume all of the given input data. If not all data is consumed, an error
is returned.§fn decode_with_depth_limit(limit: u32, input: &[u8]) -> Result<T, Error>
fn decode_with_depth_limit(limit: u32, input: &[u8]) -> Result<T, Error>
Self
with given maximum recursion depth.
is returned.§impl<T> KeyedVec for Twhere
T: Codec,
impl<T> KeyedVec for Twhere
T: Codec,
§fn to_keyed_vec(&self, prepend_key: &[u8]) -> Vec<u8>
fn to_keyed_vec(&self, prepend_key: &[u8]) -> Vec<u8>
Self
prepended by given slice.source§impl<T> ToHex for T
impl<T> ToHex for T
source§fn encode_hex<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex<U>(&self) -> Uwhere
U: FromIterator<char>,
self
into the result. Lower case
letters are used (e.g. f9b4ca
)source§fn encode_hex_upper<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex_upper<U>(&self) -> Uwhere
U: FromIterator<char>,
self
into the result. Upper case
letters are used (e.g. F9B4CA
)