作者:yellow start | 来源:互联网 | 2023-09-13 12:43
I'm testing the sha2 crate (https://docs.rs/sha2/0.9.3/sha2/)
let base2: i32 = 2;
let total_size = base2.pow(24);
let mut data = vec![0u8;total_size as usize];
let mut hasher = Sha256::new();
hasher.update(data);
let result = hasher.finalize();
println!("sha256 before write: {}", result);
however I cannot print the result:
error[E0277]: `GenericArray, B0>, B0>, B0>, B0>, B0>>` doesn't implement `std::fmt::Display`
--> src/sha_check.rs:60:41
|
60 | println!("sha256 before write: {}", result);
| ^^^^^^ `GenericArray, B0>, B0>, B0>, B0>, B0>>` cannot be formatted with the default formatter
How can I dump a GenericArray
?
I tried finding .finalize()
but I don't know where it comes from.
回答
GenericArray
implements LowerHex
and UpperHex
. So you can do either:
println!("sha256 before write: {:x}", result);
println!("sha256 before write: {:x}", result);
or
println!("sha256 before write: {:X}", result);
sha256 before write: 080acf35a507ac9849cfcba47dc2ad83e01b75663a516279c8b9d243b719643e