Struct core::hash::SipHasher

1.0.0source
pub struct SipHasher(/* private fields */);
馃憥Deprecated since 1.13.0: use std::hash::DefaultHasher instead
Expand description

An implementation of SipHash 2-4.

See: https://131002.net/siphash/

SipHash is a general-purpose hashing function: it runs at a good speed (competitive with Spooky and City) and permits strong keyed hashing. This lets you key your hash tables from a strong RNG, such as rand::os::OsRng.

Although the SipHash algorithm is considered to be generally strong, it is not intended for cryptographic purposes. As such, all cryptographic uses of this implementation are strongly discouraged.

Implementations

source

impl SipHasher

1.0.0 (const: unstable)source

pub fn new() -> SipHasher

馃憥Deprecated since 1.13.0: use std::hash::DefaultHasher instead

Creates a new SipHasher with the two initial keys set to 0.

1.0.0 (const: unstable)source

pub fn new_with_keys(key0: u64, key1: u64) -> SipHasher

馃憥Deprecated since 1.13.0: use std::hash::DefaultHasher instead

Creates a SipHasher that is keyed off the provided keys.

Trait Implementations

1.0.0source

impl Clone for SipHasher

source

fn clone(&self) -> SipHasher

Returns a copy of the value. Read more
1.0.0source

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

Performs copy-assignment from source. Read more
1.0.0source

impl Debug for SipHasher

source

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
1.0.0source

impl Default for SipHasher

source

fn default() -> SipHasher

Returns the 鈥渄efault value鈥 for a type. Read more
1.0.0source

impl Hasher for SipHasher

source

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

Writes some data into this Hasher. Read more
source

fn write_str(&mut self, s: &str)

馃敩This is a nightly-only experimental API. (hasher_prefixfree_extras #96762)
Writes a single str into this hasher. Read more
source

fn finish(&self) -> u64

Returns the hash value for the values written so far. Read more
1.3.0source

fn write_u8(&mut self, i: u8)

Writes a single u8 into this hasher.
1.3.0source

fn write_u16(&mut self, i: u16)

Writes a single u16 into this hasher.
1.3.0source

fn write_u32(&mut self, i: u32)

Writes a single u32 into this hasher.
1.3.0source

fn write_u64(&mut self, i: u64)

Writes a single u64 into this hasher.
1.26.0source

fn write_u128(&mut self, i: u128)

Writes a single u128 into this hasher.
1.3.0source

fn write_usize(&mut self, i: usize)

Writes a single usize into this hasher.
1.3.0source

fn write_i8(&mut self, i: i8)

Writes a single i8 into this hasher.
1.3.0source

fn write_i16(&mut self, i: i16)

Writes a single i16 into this hasher.
1.3.0source

fn write_i32(&mut self, i: i32)

Writes a single i32 into this hasher.
1.3.0source

fn write_i64(&mut self, i: i64)

Writes a single i64 into this hasher.
1.26.0source

fn write_i128(&mut self, i: i128)

Writes a single i128 into this hasher.
1.3.0source

fn write_isize(&mut self, i: isize)

Writes a single isize into this hasher.
source

fn write_length_prefix(&mut self, len: usize)

馃敩This is a nightly-only experimental API. (hasher_prefixfree_extras #96762)
Writes a length prefix into this hasher, as part of being prefix-free. Read more

Auto Trait Implementations

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> 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> TryFrom<U> for T
where U: Into<T>,

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>,

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.