1 2 3 4 5 6 7 8 9 10 11 12 13
use sha2::{Digest, Sha256}; use std::convert::TryInto; pub fn nonce() -> [u8; 32] { rand::random() } pub fn compute_challenge(private_key: &[u8], nonce: &[u8]) -> [u8; 32] { let mut hasher = Sha256::new(); hasher.update(nonce); hasher.update(private_key); hasher.finalize().try_into().unwrap() }