Trait bitcoin_hashes::Hash[][src]

pub trait Hash: Copy + Clone + PartialEq + Eq + Default + PartialOrd + Ord + Hash + Debug + Display + LowerHex + Index<RangeFull, Output = [u8]> + Index<RangeFrom<usize>, Output = [u8]> + Index<RangeTo<usize>, Output = [u8]> + Index<Range<usize>, Output = [u8]> + Index<usize, Output = u8> + Borrow<[u8]> {
    type Engine: HashEngine;
    type Inner: FromHex;

    const LEN: usize;
    const DISPLAY_BACKWARD: bool;

    fn from_engine(e: Self::Engine) -> Self;
fn from_slice(sl: &[u8]) -> Result<Self, Error>;
fn into_inner(self) -> Self::Inner;
fn as_inner(&self) -> &Self::Inner;
fn from_inner(inner: Self::Inner) -> Self; fn engine() -> Self::Engine { ... }
fn hash(data: &[u8]) -> Self { ... } }
Expand description

Trait which applies to hashes of all types

Associated Types

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.

The byte array that represents the hash internally

Associated Constants

Length of the hash, in bytes

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.

Required methods

Produce a hash from the current state of a given engine

Copies a byte slice into a hash object

Unwraps the hash and returns the underlying byte array

Unwraps the hash and returns a reference to the underlying byte array

Constructs a hash from the underlying byte array

Provided methods

Construct a new engine

Hashes some bytes

Implementors