Expand description
Pure Rust implementation of the SHA-1 cryptographic hash algorithm with optional hardware-specific optimizations.
🚨 Warning: Cryptographically Broken! 🚨
The SHA-1 hash function should be considered cryptographically broken and unsuitable for further use in any security critical capacity, as it is practically vulnerable to chosen-prefix collisions.
We provide this crate for legacy interoperability purposes only.
Usage
use hex_literal::hex;
use sha1::{Sha1, Digest};
// create a Sha1 object
let mut hasher = Sha1::new();
// process input message
hasher.update(b"hello world");
// acquire hash digest in the form of GenericArray,
// which in this case is equivalent to [u8; 20]
let result = hasher.finalize();
assert_eq!(result[..], hex!("2aae6c35c94fcfb415dbe95f408b9ce91ee846ed"));
Also see RustCrypto/hashes readme.
Note for users of sha1 v0.6
This crate has been transferred to the RustCrypto organization and uses
implementation previously published as the sha-1
crate. The previous
zero dependencies version is now published as the sha1_smoll
crate.
Re-exports
pub use digest;
Structs
- Core SHA-1 hasher state.
Traits
- Convenience wrapper trait covering functionality of cryptographic hash functions with fixed output size.
Type Aliases
- SHA-1 hasher state.