Trait std::hash::Hasher 1.0.0[−][src]
pub trait Hasher {
Show 14 methods
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) { ... }
}Expand description
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.
This trait makes no assumptions about how the various write_* methods are
defined and implementations of Hash should not assume that they work one
way or another. You cannot assume, for example, that a write_u32 call is
equivalent to four calls of write_u8.
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());RunRequired methods
Returns the hash value for the values written so far.
Despite its name, the method does not reset the hasher’s internal
state. Additional writes 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());RunProvided methods
1.26.0[src]fn write_u128(&mut self, i: u128)
fn write_u128(&mut self, i: u128)
Writes a single u128 into this hasher.
1.3.0[src]fn write_usize(&mut self, i: usize)
fn write_usize(&mut self, i: usize)
Writes a single usize into this hasher.
1.26.0[src]fn write_i128(&mut self, i: i128)
fn write_i128(&mut self, i: i128)
Writes a single i128 into this hasher.
1.3.0[src]fn write_isize(&mut self, i: isize)
fn write_isize(&mut self, i: isize)
Writes a single isize into this hasher.