Expand description
Result of the Keccak-256 hashing function.
Tuple Fields
0: [u8; 32]
Implementations
sourceimpl Hash
impl Hash
sourcepub const fn repeat_byte(byte: u8) -> Hash
pub const fn repeat_byte(byte: u8) -> Hash
Returns a new fixed hash where all bits are set to the given byte.
sourcepub fn as_bytes(&self) -> &[u8]ⓘNotable traits for &mut [u8]impl<'_> Write for &mut [u8]impl<'_> Read for &[u8]
pub fn as_bytes(&self) -> &[u8]ⓘNotable traits for &mut [u8]impl<'_> Write for &mut [u8]impl<'_> Read for &[u8]
Extracts a byte slice containing the entire fixed hash.
sourcepub fn as_bytes_mut(&mut self) -> &mut [u8]ⓘNotable traits for &mut [u8]impl<'_> Write for &mut [u8]impl<'_> Read for &[u8]
pub fn as_bytes_mut(&mut self) -> &mut [u8]ⓘNotable traits for &mut [u8]impl<'_> Write for &mut [u8]impl<'_> Read for &[u8]
Extracts a mutable byte slice containing the entire fixed hash.
sourcepub const fn as_fixed_bytes(&self) -> &[u8; 32]
pub const fn as_fixed_bytes(&self) -> &[u8; 32]
Extracts a reference to the byte array containing the entire fixed hash.
sourcepub fn as_fixed_bytes_mut(&mut self) -> &mut [u8; 32]
pub fn as_fixed_bytes_mut(&mut self) -> &mut [u8; 32]
Extracts a reference to the byte array containing the entire fixed hash.
sourcepub const fn to_fixed_bytes(self) -> [u8; 32]
pub const fn to_fixed_bytes(self) -> [u8; 32]
Returns the inner bytes array.
sourcepub 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.
sourcepub fn assign_from_slice(&mut self, src: &[u8])
pub fn assign_from_slice(&mut self, src: &[u8])
sourcepub fn from_slice(src: &[u8]) -> Self
pub fn from_slice(src: &[u8]) -> Self
sourceimpl Hash
impl Hash
Utilities using the byteorder
crate.
sourcepub 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.
sourcepub 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.
sourcepub 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.
sourcepub fn from_low_u64_be(val: u64) -> Self
pub fn from_low_u64_be(val: u64) -> Self
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.
sourcepub fn from_low_u64_le(val: u64) -> Self
pub fn from_low_u64_le(val: u64) -> Self
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.
sourcepub fn from_low_u64_ne(val: u64) -> Self
pub fn from_low_u64_ne(val: u64) -> Self
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.
sourceimpl Hash
impl Hash
Utilities using the rand
crate.
sourcepub fn randomize_using<R>(&mut self, rng: &mut R) where
R: Rng + ?Sized,
pub fn randomize_using<R>(&mut self, rng: &mut R) where
R: Rng + ?Sized,
Assign self
to a cryptographically random value using the
given random number generator.
sourcepub fn random_using<R>(rng: &mut R) -> Self where
R: Rng + ?Sized,
pub fn random_using<R>(rng: &mut R) -> Self where
R: Rng + ?Sized,
Create a new hash with cryptographically random content using the given random number generator.
sourceimpl Hash
impl Hash
sourcepub fn new(input: impl AsRef<[u8]>) -> Hash
pub fn new(input: impl AsRef<[u8]>) -> Hash
Hash a stream of bytes with the Keccak-256 hash function.
sourcepub fn as_scalar(&self) -> PrivateKey
pub fn as_scalar(&self) -> PrivateKey
Return the scalar of the hash as a little endian number modulo l
(curve order).
sourcepub fn hash_to_scalar(input: impl AsRef<[u8]>) -> PrivateKey
pub fn hash_to_scalar(input: impl AsRef<[u8]>) -> PrivateKey
Hash a stream of bytes and return its scalar representation.
The hash function H
is the same Keccak function that is used in CryptoNote. When the
value of the hash function is interpreted as a scalar, it is converted into a little-endian
integer and taken modulo l
.
Trait Implementations
sourceimpl<'r> BitAndAssign<&'r Hash> for Hash
impl<'r> BitAndAssign<&'r Hash> for Hash
sourcefn bitand_assign(&mut self, rhs: &'r Hash)
fn bitand_assign(&mut self, rhs: &'r Hash)
Performs the &=
operation. Read more
sourceimpl BitAndAssign<Hash> for Hash
impl BitAndAssign<Hash> for Hash
sourcefn bitand_assign(&mut self, rhs: Hash)
fn bitand_assign(&mut self, rhs: Hash)
Performs the &=
operation. Read more
sourceimpl<'r> BitOrAssign<&'r Hash> for Hash
impl<'r> BitOrAssign<&'r Hash> for Hash
sourcefn bitor_assign(&mut self, rhs: &'r Hash)
fn bitor_assign(&mut self, rhs: &'r Hash)
Performs the |=
operation. Read more
sourceimpl BitOrAssign<Hash> for Hash
impl BitOrAssign<Hash> for Hash
sourcefn bitor_assign(&mut self, rhs: Hash)
fn bitor_assign(&mut self, rhs: Hash)
Performs the |=
operation. Read more
sourceimpl<'r> BitXorAssign<&'r Hash> for Hash
impl<'r> BitXorAssign<&'r Hash> for Hash
sourcefn bitxor_assign(&mut self, rhs: &'r Hash)
fn bitxor_assign(&mut self, rhs: &'r Hash)
Performs the ^=
operation. Read more
sourceimpl BitXorAssign<Hash> for Hash
impl BitXorAssign<Hash> for Hash
sourcefn bitxor_assign(&mut self, rhs: Hash)
fn bitxor_assign(&mut self, rhs: Hash)
Performs the ^=
operation. Read more
sourceimpl<'de> Deserialize<'de> for Hash
impl<'de> Deserialize<'de> for Hash
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl Distribution<Hash> for Standard
impl Distribution<Hash> for Standard
sourcefn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> Hash
fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> Hash
Generate a random value of T
, using rng
as the source of randomness.
sourcefn sample_iter<R>(self, rng: R) -> DistIter<Self, R, T> where
R: Rng,
fn sample_iter<R>(self, rng: R) -> DistIter<Self, R, T> where
R: Rng,
Create an iterator that generates random values of T
, using rng
as
the source of randomness. Read more
sourceimpl FromStr for Hash
impl FromStr for Hash
sourceimpl<I> Index<I> for Hash where
I: SliceIndex<[u8]>,
impl<I> Index<I> for Hash where
I: SliceIndex<[u8]>,
sourceimpl Ord for Hash
impl Ord for Hash
sourceimpl PartialOrd<Hash> for Hash
impl PartialOrd<Hash> for Hash
sourcefn partial_cmp(&self, other: &Self) -> Option<Ordering>
fn partial_cmp(&self, other: &Self) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl Copy for Hash
impl Eq for Hash
Auto Trait Implementations
impl RefUnwindSafe for Hash
impl Send for Hash
impl Sync for Hash
impl Unpin for Hash
impl UnwindSafe for Hash
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToHex for T where
T: AsRef<[u8]>,
impl<T> ToHex for T where
T: AsRef<[u8]>,
sourcefn encode_hex<U>(&self) -> U where
U: FromIterator<char>,
fn encode_hex<U>(&self) -> U where
U: FromIterator<char>,
Encode the hex strict representing self
into the result. Lower case
letters are used (e.g. f9b4ca
) Read more
sourcefn encode_hex_upper<U>(&self) -> U where
U: FromIterator<char>,
fn encode_hex_upper<U>(&self) -> U where
U: FromIterator<char>,
Encode the hex strict representing self
into the result. Upper case
letters are used (e.g. F9B4CA
) Read more