How to print sha256 hash in Rust? (GenericArray)

Gat*_*ito 2 rust

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);
Run Code Online (Sandbox Code Playgroud)

however I cannot print the result:

error[E0277]: `GenericArray<u8, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>>` doesn't implement `std::fmt::Display`
  --> src/sha_check.rs:60:41
   |
60 |     println!("sha256 before write: {}", result);
   |                                         ^^^^^^ `GenericArray<u8, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>>` cannot be formatted with the default formatter
Run Code Online (Sandbox Code Playgroud)

How can I dump a GenericArray?

I tried finding .finalize() but I don't know where it comes from.

kmd*_*eko 6

GenericArray implements LowerHex and UpperHex. So you can do either:

println!("sha256 before write: {:x}", result);
Run Code Online (Sandbox Code Playgroud)
println!("sha256 before write: {:x}", result);
Run Code Online (Sandbox Code Playgroud)

or

println!("sha256 before write: {:X}", result);
Run Code Online (Sandbox Code Playgroud)
sha256 before write: 080acf35a507ac9849cfcba47dc2ad83e01b75663a516279c8b9d243b719643e
Run Code Online (Sandbox Code Playgroud)