Crate sha1

source ·
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.


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.




  • Convenience wrapper trait covering functionality of cryptographic hash functions with fixed output size.

Type Aliases§

  • SHA-1 hasher state.