Я пытаюсь Sha256
хешировать структуру, чтобы сгенерировать GUID для этой структуры на основе ее содержимого.
use sha2::{Digest, Sha256};
use std::hash::{Hash, Hasher};
#[derive(Hash)]
struct Person {
firstName: String;
lastName: String;
}
let a = Person {
firstName: "bob".to_string(),
lastName: "the builder".to_string()
}
let mut s = Sha256::new();
a.hash(&mut s);
println!("{}", s.finsih());
Моя цель растягивания состояла бы в том, чтобы просто использовать a.id()
, который бы хэшировал всесвойства этой структуры.Это impl Person { id() -> String }
?
Я пытался использовать impl x for y
, но это бросило impl doesn't use types inside crate
impl Hasher for Sha256 {
fn finish(&self) -> u64 {
self.0.result()
}
fn write(&mut self, msg: &[u8]) {
self.0.input(msg)
}
}