Trait pruefung::Hasher 1.0.0
[−]
[src]
pub trait Hasher { fn finish(&self) -> u64; fn write(&mut self, bytes: &[u8]); fn write_u8(&mut self, i: u8) { ... } fn write_u16(&mut self, i: u16) { ... } fn write_u32(&mut self, i: u32) { ... } fn write_u64(&mut self, i: u64) { ... } fn write_u128(&mut self, i: u128) { ... } fn write_usize(&mut self, i: usize) { ... } fn write_i8(&mut self, i: i8) { ... } fn write_i16(&mut self, i: i16) { ... } fn write_i32(&mut self, i: i32) { ... } fn write_i64(&mut self, i: i64) { ... } fn write_i128(&mut self, i: i128) { ... } fn write_isize(&mut self, i: isize) { ... } }
A trait for hashing an arbitrary stream of bytes.
Instances of Hasher
usually represent state that is changed while hashing
data.
Hasher
provides a fairly basic interface for retrieving the generated hash
(with finish
), and writing integers as well as slices of bytes into an
instance (with write
and write_u8
etc.). Most of the time, Hasher
instances are used in conjunction with the Hash
trait.
Examples
use std::collections::hash_map::DefaultHasher; use std::hash::Hasher; let mut hasher = DefaultHasher::new(); hasher.write_u32(1989); hasher.write_u8(11); hasher.write_u8(9); hasher.write(b"Huh?"); println!("Hash is {:x}!", hasher.finish());
Required Methods
fn finish(&self) -> u64
Returns the hash value for the values written so far.
Despite its name, the method does not reset the hasher’s internal
state. Additional [write
]s will continue from the current value.
If you need to start a fresh hash value, you will have to create
a new hasher.
Examples
use std::collections::hash_map::DefaultHasher; use std::hash::Hasher; let mut hasher = DefaultHasher::new(); hasher.write(b"Cool!"); println!("Hash is {:x}!", hasher.finish());
fn write(&mut self, bytes: &[u8])
Writes some data into this Hasher
.
Examples
use std::collections::hash_map::DefaultHasher; use std::hash::Hasher; let mut hasher = DefaultHasher::new(); let data = [0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef]; hasher.write(&data); println!("Hash is {:x}!", hasher.finish());
Provided Methods
fn write_u8(&mut self, i: u8)
1.3.0
Writes a single u8
into this hasher.
fn write_u16(&mut self, i: u16)
1.3.0
Writes a single u16
into this hasher.
fn write_u32(&mut self, i: u32)
1.3.0
Writes a single u32
into this hasher.
fn write_u64(&mut self, i: u64)
1.3.0
Writes a single u64
into this hasher.
fn write_u128(&mut self, i: u128)
i128
)Writes a single u128
into this hasher.
fn write_usize(&mut self, i: usize)
1.3.0
Writes a single usize
into this hasher.
fn write_i8(&mut self, i: i8)
1.3.0
Writes a single i8
into this hasher.
fn write_i16(&mut self, i: i16)
1.3.0
Writes a single i16
into this hasher.
fn write_i32(&mut self, i: i32)
1.3.0
Writes a single i32
into this hasher.
fn write_i64(&mut self, i: i64)
1.3.0
Writes a single i64
into this hasher.
fn write_i128(&mut self, i: i128)
i128
)Writes a single i128
into this hasher.
fn write_isize(&mut self, i: isize)
1.3.0
Writes a single isize
into this hasher.
Implementations on Foreign Types
impl Hasher for SipHasher13
[src]
fn write(&mut self, msg: &[u8])
[src]
fn finish(&self) -> u64
[src]
fn write_u8(&mut self, i: u8)
1.3.0[src]
fn write_u16(&mut self, i: u16)
1.3.0[src]
fn write_u32(&mut self, i: u32)
1.3.0[src]
fn write_u64(&mut self, i: u64)
1.3.0[src]
fn write_u128(&mut self, i: u128)
[src]
i128
)fn write_usize(&mut self, i: usize)
1.3.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)
[src]
i128
)fn write_isize(&mut self, i: isize)
1.3.0[src]
impl Hasher for SipHasher
[src]
fn write(&mut self, msg: &[u8])
[src]
fn finish(&self) -> u64
[src]
fn write_u8(&mut self, i: u8)
1.3.0[src]
fn write_u16(&mut self, i: u16)
1.3.0[src]
fn write_u32(&mut self, i: u32)
1.3.0[src]
fn write_u64(&mut self, i: u64)
1.3.0[src]
fn write_u128(&mut self, i: u128)
[src]
i128
)fn write_usize(&mut self, i: usize)
1.3.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)
[src]
i128
)fn write_isize(&mut self, i: isize)
1.3.0[src]
impl Hasher for SipHasher24
[src]
fn write(&mut self, msg: &[u8])
[src]
fn finish(&self) -> u64
[src]
fn write_u8(&mut self, i: u8)
1.3.0[src]
fn write_u16(&mut self, i: u16)
1.3.0[src]
fn write_u32(&mut self, i: u32)
1.3.0[src]
fn write_u64(&mut self, i: u64)
1.3.0[src]
fn write_u128(&mut self, i: u128)
[src]
i128
)fn write_usize(&mut self, i: usize)
1.3.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)
[src]
i128
)fn write_isize(&mut self, i: isize)
1.3.0[src]
Implementors
impl<'a, H> Hasher for &'a mut H where
H: Hasher + ?Sized,impl Hasher for Adler32
impl Hasher for Bsd
impl Hasher for Crc32
impl Hasher for Crc32c
impl Hasher for Fletcher16
impl Hasher for Fnv32
impl Hasher for Fnv32a
impl Hasher for Fnv32z
impl Hasher for Fnv64
impl Hasher for Fnv64a
impl Hasher for Fnv64z
impl Hasher for Unix
impl Hasher for SysV