Struct siphasher::sip::SipHasher [−][src]
pub struct SipHasher(_);
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 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
[src]
impl SipHasher
pub fn new() -> SipHasher
[src]
pub fn new() -> SipHasher
Creates a new SipHasher
with the two initial keys set to 0.
pub fn new_with_keys(key0: u64, key1: u64) -> SipHasher
[src]
pub fn new_with_keys(key0: u64, key1: u64) -> SipHasher
Creates a SipHasher
that is keyed off the provided keys.
pub fn keys(&self) -> (u64, u64)
[src]
pub fn keys(&self) -> (u64, u64)
Get the keys used by this hasher
Trait Implementations
impl Debug for SipHasher
[src]
impl Debug for SipHasher
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl Clone for SipHasher
[src]
impl Clone for SipHasher
fn clone(&self) -> SipHasher
[src]
fn clone(&self) -> SipHasher
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Copy for SipHasher
[src]
impl Copy for SipHasher
impl Default for SipHasher
[src]
impl Default for SipHasher
impl Hasher for SipHasher
[src]
impl Hasher for SipHasher
fn write(&mut self, msg: &[u8])
[src]
fn write(&mut self, msg: &[u8])
Writes some data into this Hasher
. Read more
fn finish(&self) -> u64
[src]
fn finish(&self) -> u64
Returns the hash value for the values written so far. Read more
fn write_u8(&mut self, i: u8)
1.3.0[src]
fn write_u8(&mut self, i: u8)
Writes a single u8
into this hasher.
fn write_u16(&mut self, i: u16)
1.3.0[src]
fn write_u16(&mut self, i: u16)
Writes a single u16
into this hasher.
fn write_u32(&mut self, i: u32)
1.3.0[src]
fn write_u32(&mut self, i: u32)
Writes a single u32
into this hasher.
fn write_u64(&mut self, i: u64)
1.3.0[src]
fn write_u64(&mut self, i: u64)
Writes a single u64
into this hasher.
fn write_u128(&mut self, i: u128)
1.26.0[src]
fn write_u128(&mut self, i: u128)
Writes a single u128
into this hasher.
fn write_usize(&mut self, i: usize)
1.3.0[src]
fn write_usize(&mut self, i: usize)
Writes a single usize
into this hasher.
fn write_i8(&mut self, i: i8)
1.3.0[src]
fn write_i8(&mut self, i: i8)
Writes a single i8
into this hasher.
fn write_i16(&mut self, i: i16)
1.3.0[src]
fn write_i16(&mut self, i: i16)
Writes a single i16
into this hasher.
fn write_i32(&mut self, i: i32)
1.3.0[src]
fn write_i32(&mut self, i: i32)
Writes a single i32
into this hasher.
fn write_i64(&mut self, i: i64)
1.3.0[src]
fn write_i64(&mut self, i: i64)
Writes a single i64
into this hasher.
fn write_i128(&mut self, i: i128)
1.26.0[src]
fn write_i128(&mut self, i: i128)
Writes a single i128
into this hasher.
fn write_isize(&mut self, i: isize)
1.3.0[src]
fn write_isize(&mut self, i: isize)
Writes a single isize
into this hasher.