twox_hash::xxhash3_128

Struct Hasher

Source
pub struct Hasher { /* private fields */ }
Available on crate feature xxhash3_128 only.
Expand description

Calculates the 128-bit hash. TODO: does not implement hash.

Implementations§

Source§

impl Hasher

Source

pub fn new() -> Self

Available on crate feature alloc only.

Constructs the hasher using the default seed and secret values.

Source

pub fn with_seed(seed: u64) -> Self

Available on crate feature alloc only.

Constructs the hasher using the provided seed and a secret derived from the seed.

Source

pub fn with_seed_and_secret( seed: u64, secret: impl Into<Box<[u8]>>, ) -> Result<Self, SecretTooShortError<Box<[u8]>>>

Available on crate feature alloc only.

Constructs the hasher using the provided seed and secret.

Source

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

Available on crate feature alloc only.

Returns the secret.

Source

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

Available on crate feature alloc only.

Writes some data into this Hasher.

Source

pub fn finish_128(&self) -> u128

Available on crate feature alloc only.

Returns the hash value for the values written so far. Unlike std::hash::Hasher::finish, this method returns the complete 128-bit value calculated, not a 64-bit value.

Source§

impl Hasher

Source

pub fn oneshot(input: &[u8]) -> u128

Hash all data at once. If you can use this function, you may see noticable speed gains for certain types of input.

Source

pub fn oneshot_with_seed(seed: u64, input: &[u8]) -> u128

Hash all data at once using the provided seed and a secret derived from the seed. If you can use this function, you may see noticable speed gains for certain types of input.

Source

pub fn oneshot_with_secret( secret: &[u8], input: &[u8], ) -> Result<u128, OneshotWithSecretError>

Hash all data at once using the provided secret and the default seed. If you can use this function, you may see noticable speed gains for certain types of input.

Source

pub fn oneshot_with_seed_and_secret( seed: u64, secret: &[u8], input: &[u8], ) -> Result<u128, OneshotWithSecretError>

Hash all data at once using the provided seed and secret. If you can use this function, you may see noticable speed gains for certain types of input.

Trait Implementations§

Source§

impl Clone for Hasher

Source§

fn clone(&self) -> Hasher

Returns a copy 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 Default for Hasher

Available on crate feature alloc only.
Source§

fn default() -> Self

Returns the “default value” for a type. Read more

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, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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> 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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V