rs_sha1 0.1.3

`rs_sha1` is a Rust implementation of the SHA-1 cryptographic hash algorithm, part of the larger `rs_shield` project. This package provides SHA-1 hashing functionality in a standalone manner, ideal for when only SHA-1 is required. Alternatively, for those seeking a comprehensive set of cryptographic functions, this same algorithm is included within the broader `rs_shield` library bundle. The focus of `rs_sha1` and the larger project is on performance, safety, and openness, with a commitment to ongoing maintenance and enhancement.
Documentation
use rs_sha1::Sha1State;
use std::{
    collections::{hash_map::DefaultHasher, HashSet},
    hash::{BuildHasher, Hash, Hasher},
};

#[test]
fn sha1_state_hash() {
    let default_sha1_state = Sha1State::default();
    let sha1hasher = default_sha1_state.build_hasher();
    let mut default_hasher = DefaultHasher::default();
    let initial_default_hasher_result = default_hasher.clone().finish();

    sha1hasher.hash(&mut default_hasher);
    let final_default_hasher_result = default_hasher.finish();

    assert_ne!(final_default_hasher_result, initial_default_hasher_result);
}

#[test]
fn state_hash_set() {
    let sha1state = Sha1State::default();
    let mut sha1set = HashSet::with_hasher(sha1state);

    sha1set.insert("");
    sha1set.insert("2");

    assert_eq!(sha1set.get(""), Some(&""));
    assert_eq!(sha1set.get("str"), None);
    assert_eq!(sha1set.len(), 2);
    assert!(sha1set.insert("str"));
    assert_eq!(sha1set.len(), 3);
}