fn hash<T>(of: T) -> String
where T:Iterator, <T as Iterator>::Item: AsRef<[u8]> {
    let mut hasher = sha2::Sha256::new();
    for item in of {
        hasher.update(item);
    }
    return hex::encode(hasher.finalize())
}
/// Computes an SHA256 hash of a concatenation of byte arrays, given in the iterator.
/// Irreversible hash: given output, input is practically impossible to predict.
/// Example:
/// ```
/// println!("SHA256: {}", hash(["hello".as_bytes()].iter()));
/// // SHA256: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
/// ```
Computes an SHA256 hash of a concatenation of byte arrays, given in the iterator.
Irreversible hash: given output, input is practically impossible to predict.
Computes an SHA256 hash of a concatenation of byte arrays given in the iterator . Irreversible hash : given output input is practically impossible to predict .
fn hash<T>(of: T) -> String
where T:Iterator, <T as Iterator>::Item: AsRef<[u8]> {
    let mut hasher = sha2::Sha256::new();
    for item in of {
        hasher.update(item);
    }
    return hex::encode(hasher.finalize())
}
fn hash < T > ( of : T ) -> String where T : Iterator , < T as Iterator > :: Item : AsRef < [ u8 ] > { let mut hasher = sha2 :: Sha256 :: new ( ) ; for item in of { hasher . update ( item ) ; } return hex :: encode ( hasher . finalize ( ) ) }
Computes an SHA256 hash of a concatenation of byte arrays, given in the iterator.
Computes an SHA256 hash of a concatenation of byte arrays given in the iterator .
of
T
of
T