Skip to main content

Hasher

Enum Hasher 

Source
pub enum Hasher {
Show 17 variants MD5(MD5), SHA1(SHA1), SHA224(SHA224), SHA256(SHA256), SHA384(SHA384), SHA512(SHA512), Murmur3_128(Murmur3_128), Murmur3_32(Murmur3_32), BLAKE2b512(BLAKE2b512), BLAKE2s256(BLAKE2s256), BLAKE2s128(BLAKE2s128), BLAKE2s160(BLAKE2s160), BLAKE2s224(BLAKE2s224), BLAKE2b160(BLAKE2b160), BLAKE2b224(BLAKE2b224), BLAKE2b256(BLAKE2b256), BLAKE2b384(BLAKE2b384),
}
Available on crate feature alloc only.

Variants§

§

MD5(MD5)

§

SHA1(SHA1)

§

SHA224(SHA224)

§

SHA256(SHA256)

§

SHA384(SHA384)

§

SHA512(SHA512)

§

Murmur3_128(Murmur3_128)

§

Murmur3_32(Murmur3_32)

§

BLAKE2b512(BLAKE2b512)

§

BLAKE2s256(BLAKE2s256)

§

BLAKE2s128(BLAKE2s128)

§

BLAKE2s160(BLAKE2s160)

§

BLAKE2s224(BLAKE2s224)

§

BLAKE2b160(BLAKE2b160)

§

BLAKE2b224(BLAKE2b224)

§

BLAKE2b256(BLAKE2b256)

§

BLAKE2b384(BLAKE2b384)

Implementations§

Source§

impl Hasher

Source

pub fn write(&mut self, val: &[u8])

Source

pub fn finish(self) -> Box<[u8]>

Source

pub fn hash_file<T: AsRef<Path>>(&mut self, path: T) -> Result<(), Error>

Available on crate feature std only.

Trait Implementations§

Source§

impl Clone for Hasher

Source§

fn clone(&self) -> Hasher

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl MutBits for Hasher

Source§

fn write_u8(&mut self, val: u8) -> Result<(), Error>

Writes a single u8
Source§

fn write_all_bytes(&mut self, val: &[u8]) -> Result<(), Error>

Writes all the bytes in order
Source§

fn write_i8(&mut self, val: i8) -> Result<(), BitsError>

Writes a single i8
Source§

fn write_bool(&mut self, val: bool) -> Result<(), BitsError>

Writes 1u8 if true, 0u8 if false
Source§

fn write_be_utf8_char(&mut self, val: char) -> Result<usize, BitsError>

Encodes the character as UTF-8, and writes anywhere from 1-4 bytes. The number of bytes written is returned.
Source§

fn write_be_u16(&mut self, val: u16) -> Result<(), BitsError>

Writes a single u16 in big-endian order, 2 bytes, MSB first.
Source§

fn write_le_u16(&mut self, val: u16) -> Result<(), BitsError>

Writes a single u16 in little-endian order, 2 bytes, LSB first.
Source§

fn write_be_u32(&mut self, val: u32) -> Result<(), BitsError>

Writes a single u32 in big-endian order, 4 bytes, MSB first.
Source§

fn write_le_u32(&mut self, val: u32) -> Result<(), BitsError>

Writes a single u32 in little-endian order, 4 bytes, LSB first.
Source§

fn write_be_u64(&mut self, val: u64) -> Result<(), BitsError>

Writes a single u64 in big-endian order, 8 bytes, MSB first.
Source§

fn write_le_u64(&mut self, val: u64) -> Result<(), BitsError>

Writes a single u64 in little-endian order, 8 bytes, LSB first.
Source§

fn write_be_u128(&mut self, val: u128) -> Result<(), BitsError>

Writes a single u128 in big-endian order, 16 bytes, MSB first.
Source§

fn write_le_u128(&mut self, val: u128) -> Result<(), BitsError>

Writes a single u128 in little-endian order, 16 bytes, LSB first.
Source§

fn write_be_f32(&mut self, val: f32) -> Result<(), BitsError>

Writes a single f32 in standard IEEE754 format, 4 bytes
Source§

fn write_le_f32(&mut self, val: f32) -> Result<(), BitsError>

Writes a single f32 in reversed IEEE754 format, 4 bytes
Source§

fn write_be_f64(&mut self, val: f64) -> Result<(), BitsError>

Writes a single u16 in standard IEEE754 format, 8 bytes
Source§

fn write_le_f64(&mut self, val: f64) -> Result<(), BitsError>

Writes a single u16 in reversed IEEE754 format, 8 bytes
Source§

fn write_be_i16(&mut self, val: i16) -> Result<(), BitsError>

Writes a single i16 in big-endian order, 2 bytes, MSB first.
Source§

fn write_le_i16(&mut self, val: i16) -> Result<(), BitsError>

Writes a single i16 in little-endian order, 2 bytes, LSB first.
Source§

fn write_be_i32(&mut self, val: i32) -> Result<(), BitsError>

Writes a single i32 in big-endian order, 4 bytes, MSB first.
Source§

fn write_le_i32(&mut self, val: i32) -> Result<(), BitsError>

Writes a single i32 in little-endian order, 4 bytes, LSB first.
Source§

fn write_be_i64(&mut self, val: i64) -> Result<(), BitsError>

Writes a single i64 in big-endian order, 8 bytes, MSB first.
Source§

fn write_le_i64(&mut self, val: i64) -> Result<(), BitsError>

Writes a single i64 in little-endian order, 8 bytes, LSB first.
Source§

fn write_be_i128(&mut self, val: i128) -> Result<(), BitsError>

Writes a single i128 in big-endian order, 16 bytes, MSB first.
Source§

fn write_le_i128(&mut self, val: i128) -> Result<(), BitsError>

Writes a single i128 in little-endian order, 16 bytes, LSB first.
Source§

fn write_u8_blob(&mut self, val: &[u8]) -> Result<(), BitsError>

Writes a sized blob, a series of bytes preceded by a u8 declaring the size
Source§

fn write_be_u16_blob(&mut self, val: &[u8]) -> Result<(), BitsError>

Writes a sized blob, a series of bytes preceded by a u16 declaring the size
Source§

fn write_le_u16_blob(&mut self, val: &[u8]) -> Result<(), BitsError>

Writes a sized blob, a series of bytes preceded by a u16 declaring the size
Source§

fn write_be_u32_blob(&mut self, val: &[u8]) -> Result<(), BitsError>

Writes a sized blob, a series of bytes preceded by a u32 declaring the size
Source§

fn write_le_u32_blob(&mut self, val: &[u8]) -> Result<(), BitsError>

Writes a sized blob, a series of bytes preceded by a u32 declaring the size
Source§

fn write_be_u64_blob(&mut self, val: &[u8]) -> Result<(), BitsError>

Writes a sized blob, a series of bytes preceded by a u64 declaring the size
Source§

fn write_le_u64_blob(&mut self, val: &[u8]) -> Result<(), BitsError>

Writes a sized blob, a series of bytes preceded by a u64 declaring the size
Source§

fn write_fmt_impl(&mut self, args: Arguments<'_>) -> Result<(), BitsError>

Available on docsrs, or crate feature alloc only.
Allows the use of core::format_args macro
Source§

fn write_some_bytes(&mut self, val: &[u8]) -> usize

Writes some subset of bytes until either the input is exhausted, or the underlying buffer fills up or errors. Returns the total number of bytes written
Source§

fn write_str_u32_blob(&mut self, val: &str) -> Result<usize, BitsError>

Writes a specific sized string from the stream, a string prefixed by a 4-byte big-endian length.
Source§

fn write_exact(&mut self, val: &[u8], len: usize) -> Result<(), BitsError>

Writes the exact amount of bytes from the input buffer to the output stream Returns an error if the buffer doesn’t have enough values or if the output stream errors.
Source§

fn write_all_into_self_from<T>( &mut self, other: &mut T, ) -> Result<u64, BitsError>
where T: Bits,

Copies all data from the other stream into this stream.
Source§

fn flush(&mut self) -> Result<(), BitsError>

Flush all bytes out of the cache. Most impl’s won’t need this.
Source§

impl TryFrom<HashAlgorithm> for Hasher

Source§

type Error = BitsError

The type returned in the event of a conversion error.
Source§

fn try_from(value: HashAlgorithm) -> Result<Self, Self::Error>

Performs the conversion.

Auto Trait Implementations§

§

impl Freeze for Hasher

§

impl RefUnwindSafe for Hasher

§

impl Send for Hasher

§

impl Sync for Hasher

§

impl Unpin for Hasher

§

impl UnwindSafe for Hasher

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> MaybeInto<U> for T
where U: MaybeFrom<T>,

Source§

fn maybe_into(self) -> Option<U>

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> UUIDWriter for T
where T: MutBits,

Source§

fn write_uuid(&mut self, uuid: &UUID) -> Result<(), BitsError>

Attempts to write a UUID to this data source