[−][src]Struct siphasher::sip::SipHasher
An implementation of SipHash 2-4.
See: https://www.aumasson.jp/siphash/siphash.pdf
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.
Implementations
impl SipHasher
[src]
pub fn new() -> SipHasher
[src]
Creates a new SipHasher
with the two initial keys set to 0.
pub fn new_with_keys(key0: u64, key1: u64) -> SipHasher
[src]
Creates a SipHasher
that is keyed off the provided keys.
pub fn new_with_key(key: &[u8; 16]) -> SipHasher
[src]
Creates a SipHasher
from a 16 byte key.
pub fn keys(&self) -> (u64, u64)
[src]
Get the keys used by this hasher
pub fn key(&self) -> [u8; 16]
[src]
Get the key used by this hasher as a 16 byte vector
Trait Implementations
impl Clone for SipHasher
[src]
fn clone(&self) -> SipHasher
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for SipHasher
[src]
impl Debug for SipHasher
[src]
impl Default for SipHasher
[src]
impl Hasher for SipHasher
[src]
fn write(&mut self, msg: &[u8])
[src]
fn finish(&self) -> u64
[src]
fn write_usize(&mut self, i: usize)
[src]
fn write_u8(&mut self, i: u8)
[src]
fn write_u16(&mut self, i: u16)
[src]
fn write_u32(&mut self, i: u32)
[src]
fn write_u64(&mut self, i: u64)
[src]
fn write_u128(&mut self, i: u128)
1.26.0[src]
fn write_i8(&mut self, i: i8)
1.3.0[src]
fn write_i16(&mut self, i: i16)
1.3.0[src]
fn write_i32(&mut self, i: i32)
1.3.0[src]
fn write_i64(&mut self, i: i64)
1.3.0[src]
fn write_i128(&mut self, i: i128)
1.26.0[src]
fn write_isize(&mut self, i: isize)
1.3.0[src]
Auto Trait Implementations
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,