pub struct Hashstring { /* private fields */ }
Available on crate feature
hashstrings
only.Expand description
The hash of a string. Can be used to search for strings without storing the string itself in memory.
§Example
use encrust_core::{Hashstring, Sensitivity};
let hashstring = Hashstring::new("A string", 0xabcdef, Sensitivity::CaseSensitive);
assert!(hashstring == "A string");
assert!(hashstring != "a string");
let case_insensitive_hashstring =
Hashstring::new("A string", 0xfedcba, Sensitivity::CaseInsensitive);
assert!(case_insensitive_hashstring == "A string");
assert!(case_insensitive_hashstring == "a string");
Implementations§
Source§impl Hashstring
impl Hashstring
Sourcepub fn new(s: &str, seed: u64, sensitivity: Sensitivity) -> Self
pub fn new(s: &str, seed: u64, sensitivity: Sensitivity) -> Self
Create a new Hashstring
using the provided string and random seed.
Note that if Sensitivity::CaseInsensitive
is used, a new String
is allocated with the
provided s
converted to lowercase. The newly allocated string is overwritten using
Zeroize
after calculating the hash.
This function does not zeroize the original string. To avoid ever having the string in
memory, it is recommended to use the hashstring!
macro.
Trait Implementations§
Source§impl PartialEq<&str> for Hashstring
impl PartialEq<&str> for Hashstring
Auto Trait Implementations§
impl Freeze for Hashstring
impl RefUnwindSafe for Hashstring
impl Send for Hashstring
impl Sync for Hashstring
impl Unpin for Hashstring
impl UnwindSafe for Hashstring
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more