pub struct Hash(/* private fields */);
Expand description
Output of the SipHash24 hash function.
Implementations§
§impl Hash
impl Hash
pub fn from_bytes_ref(bytes: &[u8; 8]) -> &Hash
pub fn from_bytes_ref(bytes: &[u8; 8]) -> &Hash
Zero cost conversion between a fixed length byte array shared reference and a shared reference to this Hash type.
pub fn from_bytes_mut(bytes: &mut [u8; 8]) -> &mut Hash
pub fn from_bytes_mut(bytes: &mut [u8; 8]) -> &mut Hash
Zero cost conversion between a fixed length byte array exclusive reference and an exclusive reference to this Hash type.
§impl Hash
impl Hash
pub fn hash_with_keys(k0: u64, k1: u64, data: &[u8]) -> Hash
pub fn hash_with_keys(k0: u64, k1: u64, data: &[u8]) -> Hash
Hashes the given data with an engine with the provided keys.
pub fn hash_to_u64_with_keys(k0: u64, k1: u64, data: &[u8]) -> u64
pub fn hash_to_u64_with_keys(k0: u64, k1: u64, data: &[u8]) -> u64
Hashes the given data directly to u64 with an engine with the provided keys.
pub fn from_engine_to_u64(e: HashEngine) -> u64
pub fn from_engine_to_u64(e: HashEngine) -> u64
Produces a hash as u64
from the current state of a given engine.
Trait Implementations§
§impl<'de> Deserialize<'de> for Hash
impl<'de> Deserialize<'de> for Hash
§fn deserialize<D>(d: D) -> Result<Hash, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(d: D) -> Result<Hash, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
§impl Hash for Hash
impl Hash for Hash
§type Engine = HashEngine
type Engine = HashEngine
A hashing engine which bytes can be serialized into. It is expected
to implement the
io::Write
trait, and to never return errors under
any conditions.§const DISPLAY_BACKWARD: bool = false
const DISPLAY_BACKWARD: bool = false
Flag indicating whether user-visible serializations of this hash
should be backward. For some reason Satoshi decided this should be
true for
Sha256dHash
, so here we are.§fn from_engine(e: HashEngine) -> Hash
fn from_engine(e: HashEngine) -> Hash
Produces a hash from the current state of a given engine.
§fn from_slice(sl: &[u8]) -> Result<Hash, FromSliceError>
fn from_slice(sl: &[u8]) -> Result<Hash, FromSliceError>
Copies a byte slice into a hash object.
§fn to_byte_array(self) -> <Hash as Hash>::Bytes
fn to_byte_array(self) -> <Hash as Hash>::Bytes
Returns the underlying byte array.
§fn as_byte_array(&self) -> &<Hash as Hash>::Bytes
fn as_byte_array(&self) -> &<Hash as Hash>::Bytes
Returns a reference to the underlying byte array.
§fn from_byte_array(bytes: <Hash as Hash>::Bytes) -> Hash
fn from_byte_array(bytes: <Hash as Hash>::Bytes) -> Hash
Constructs a hash from the underlying byte array.
§fn hash_byte_chunks<B, I>(byte_slices: I) -> Self
fn hash_byte_chunks<B, I>(byte_slices: I) -> Self
Hashes all the byte slices retrieved from the iterator together.
§impl<I> Index<I> for Hashwhere
I: SliceIndex<[u8]>,
impl<I> Index<I> for Hashwhere
I: SliceIndex<[u8]>,
§impl Ord for Hash
impl Ord for Hash
§impl PartialOrd for Hash
impl PartialOrd for Hash
§fn partial_cmp(&self, other: &Hash) -> Option<Ordering>
fn partial_cmp(&self, other: &Hash) -> Option<Ordering>
1.0.0 · source§fn 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 SerdeHash for Hash
impl SerdeHash for Hash
§fn from_slice_delegated(sl: &[u8]) -> Result<Hash, FromSliceError>
fn from_slice_delegated(sl: &[u8]) -> Result<Hash, FromSliceError>
Helper function to turn a deserialized slice into the correct hash type.
§fn serialize<S>(
&self,
s: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
s: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
Do serde serialization.
§fn deserialize<'de, D>(d: D) -> Result<Self, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<'de, D>(d: D) -> Result<Self, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Do serde deserialization.
§impl Serialize for Hash
impl Serialize for Hash
§fn serialize<S>(
&self,
s: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
s: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl Copy for Hash
impl Eq for Hash
impl StructuralPartialEq for Hash
Auto Trait Implementations§
impl Freeze for Hash
impl RefUnwindSafe for Hash
impl Send for Hash
impl Sync for Hash
impl Unpin for Hash
impl UnwindSafe for Hash
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more