Struct std::hash::SipHasher 1.0.0
[−]
[src]
pub struct SipHasher {
// some fields omitted
}An implementation of SipHash 2-4.
See: https://131002.net/siphash/
This is currently the default hashing function used by standard library
(eg. collections::HashMap uses it by default).
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 hashtables 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.
Methods
impl SipHasher
fn new() -> SipHasher
Creates a new SipHasher with the two initial keys set to 0.
fn new_with_keys(key0: u64, key1: u64) -> SipHasher
Creates a SipHasher that is keyed off the provided keys.
Trait Implementations
impl Hasher for SipHasher
fn write(&mut self, msg: &[u8])
Writes some data into this Hasher
fn finish(&self) -> u64
Completes a round of hashing, producing the output hash generated.
fn write_u8(&mut self, i: u8)1.3.0
Write a single u8 into this hasher
fn write_u16(&mut self, i: u16)1.3.0
Write a single u16 into this hasher.
fn write_u32(&mut self, i: u32)1.3.0
Write a single u32 into this hasher.
fn write_u64(&mut self, i: u64)1.3.0
Write a single u64 into this hasher.
fn write_usize(&mut self, i: usize)1.3.0
Write a single usize into this hasher.
fn write_i8(&mut self, i: i8)1.3.0
Write a single i8 into this hasher.
fn write_i16(&mut self, i: i16)1.3.0
Write a single i16 into this hasher.
fn write_i32(&mut self, i: i32)1.3.0
Write a single i32 into this hasher.
fn write_i64(&mut self, i: i64)1.3.0
Write a single i64 into this hasher.
fn write_isize(&mut self, i: isize)1.3.0
Write a single isize into this hasher.
impl Clone for SipHasher
fn clone(&self) -> SipHasher
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more